home *** CD-ROM | disk | FTP | other *** search
/ Acorn RISC PD-CD 1 / Acorn RISC PD-CD 1.iso / fractals / _tripatron / mandel13b < prev    next >
Unknown  |  1992-01-03  |  11.6 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default
100% xdgMime image/x-tga default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 0a 23 f4 20 3e 3c | 42 24 50 61 74 68 3e 4d |...#. ><|B$Path>M|
|00000010| 61 6e 64 65 6c 62 72 6f | 74 2e 4d 61 6e 64 65 6c |andelbro|t.Mandel|
|00000020| 31 33 42 0d 00 14 3e f4 | 20 4e 65 77 20 69 6d 70 |13B...>.| New imp|
|00000030| 72 6f 76 65 64 20 6d 61 | 63 68 69 6e 65 20 63 6f |roved ma|chine co|
|00000040| 64 65 20 76 65 72 73 69 | 6f 6e 20 2e 20 2e 20 2e |de versi|on . . .|
|00000050| 20 77 61 74 63 68 20 74 | 68 69 73 20 73 70 61 63 | watch t|his spac|
|00000060| 65 0d 00 1e 20 f4 20 62 | 79 20 5a 65 75 73 2c 20 |e... . b|y Zeus, |
|00000070| 6a 75 73 74 20 74 6f 20 | 73 68 6f 77 20 6f 66 66 |just to |show off|
|00000080| 2e 0d 00 28 05 3a 0d 00 | 32 08 eb 39 3a 87 0d 00 |...(.:..|2..9:...|
|00000090| 3c 0b 6d 61 78 25 3d 36 | 33 0d 00 46 17 73 74 65 |<.max%=6|3..F.ste|
|000000a0| 70 25 3d 32 2e 35 2f 32 | 35 36 2a 26 32 30 30 30 |p%=2.5/2|56*&2000|
|000000b0| 0d 00 50 0f f2 53 65 74 | 63 6f 6c 6f 75 72 73 0d |..P..Set|colours.|
|000000c0| 00 5a 0a f2 41 73 73 65 | 6d 0d 00 64 0a d6 20 69 |.Z..Asse|m..d.. i|
|000000d0| 6e 69 74 0d 00 6e 0f d6 | 20 6d 61 6b 65 74 61 62 |nit..n..| maketab|
|000000e0| 6c 65 0d 00 78 07 d1 3d | 30 0d 00 82 10 f2 4d 61 |le..x..=|0.....Ma|
|000000f0| 6e 64 65 6c 62 72 6f 74 | 33 0d 00 8c 13 74 69 6d |ndelbrot|3....tim|
|00000100| 65 66 69 6e 69 73 68 65 | 64 25 3d 91 0d 00 96 18 |efinishe|d%=.....|
|00000110| f1 27 22 49 74 65 72 61 | 74 69 6f 6e 73 3a 22 3b |.'"Itera|tions:";|
|00000120| 6d 61 78 25 0d 00 a0 26 | f1 22 54 69 6d 65 3a 22 |max%...&|."Time:"|
|00000130| 3b 74 69 6d 65 66 69 6e | 69 73 68 65 64 25 2f 31 |;timefin|ished%/1|
|00000140| 30 30 3b 22 20 73 65 63 | 2e 22 0d 00 aa 06 e7 a5 |00;" sec|."......|
|00000150| 0d 00 be 1d c8 99 22 57 | 69 6d 70 5f 43 6f 6d 6d |......"W|imp_Comm|
|00000160| 61 6e 64 57 69 6e 64 6f | 77 22 2c 2d 31 0d 00 c8 |andWindo|w",-1...|
|00000170| 05 e0 0d 00 d2 05 3a 0d | 00 dc 11 dd f2 4d 61 6e |......:.|.....Man|
|00000180| 64 65 6c 62 72 6f 74 33 | 0d 00 e6 21 78 73 63 61 |delbrot3|...!xsca|
|00000190| 6c 65 3d 31 30 32 34 2f | 32 2e 35 3a 79 73 63 61 |le=1024/|2.5:ysca|
|000001a0| 6c 65 3d 78 73 63 61 6c | 65 0d 00 f0 20 ea 20 68 |le=xscal|e... . h|
|000001b0| 65 61 70 25 2c 6c 69 6d | 25 2c 61 78 25 2c 61 79 |eap%,lim|%,ax%,ay|
|000001c0| 25 2c 62 78 25 2c 62 79 | 25 0d 00 fa 27 de 20 68 |%,bx%,by|%...'. h|
|000001d0| 65 61 70 25 20 26 41 30 | 30 30 3a 6c 69 6d 25 3d |eap% &A0|00:lim%=|
|000001e0| 68 65 61 70 25 2b 26 41 | 30 30 30 3a 47 25 3d 77 |heap%+&A|000:G%=w|
|000001f0| 0d 01 04 10 21 70 68 65 | 61 70 3d 68 65 61 70 25 |....!phe|ap=heap%|
|00000200| 0d 01 0e 0a 21 70 78 31 | 3d 30 0d 01 18 0a 21 70 |....!px1|=0....!p|
|00000210| 79 31 3d 30 0d 01 22 0a | 21 70 78 32 3d 30 0d 01 |y1=0..".|!px2=0..|
|00000220| 2c 0a 21 70 79 32 3d 30 | 0d 01 36 09 21 70 78 3d |,.!py2=0|..6.!px=|
|00000230| 30 0d 01 40 09 21 70 79 | 3d 30 0d 01 4a 0e 21 70 |0..@.!py|=0..J.!p|
|00000240| 73 69 64 65 3d 32 35 36 | 0d 01 54 14 21 70 6c 78 |side=256|..T.!plx|
|00000250| 3d 2d 32 2e 30 30 2a 26 | 32 30 30 30 0d 01 5e 14 |=-2.00*&|2000..^.|
|00000260| 21 70 6c 79 3d 2b 31 2e | 32 35 2a 26 32 30 30 30 |!ply=+1.|25*&2000|
|00000270| 0d 01 68 11 d6 20 6d 61 | 6e 64 65 6c 62 72 6f 74 |..h.. ma|ndelbrot|
|00000280| 32 0d 01 72 05 e1 0d 01 | 7c 05 3a 0d 01 86 10 dd |2..r....||.:.....|
|00000290| f2 53 65 74 63 6f 6c 6f | 75 72 73 0d 01 90 11 fb |.Setcolo|urs.....|
|000002a0| 20 30 2c 36 34 2c 31 32 | 38 2c 36 34 0d 01 9a 10 | 0,64,12|8,64....|
|000002b0| fb 20 31 2c 31 36 2c 31 | 36 2c 31 36 0d 01 a4 10 |. 1,16,1|6,16....|
|000002c0| fb 20 32 2c 33 32 2c 33 | 32 2c 33 32 0d 01 ae 10 |. 2,32,3|2,32....|
|000002d0| fb 20 33 2c 36 34 2c 36 | 34 2c 36 34 0d 01 b8 0b |. 3,64,6|4,64....|
|000002e0| ff 22 66 78 31 30 22 0d | 01 c2 05 e1 0d 01 cc 05 |."fx10".|........|
|000002f0| 3a 0d 01 d6 0b dd f2 41 | 73 73 65 6d 0d 01 e0 12 |:......A|ssem....|
|00000300| de 20 63 6f 64 65 25 20 | 26 39 30 30 30 30 0d 01 |. code% |&90000..|
|00000310| ea 05 3a 0d 01 f4 0f e3 | 70 61 73 73 3d 30 b8 32 |..:.....|pass=0.2|
|00000320| 88 32 0d 01 fe 0c 50 25 | 3d 63 6f 64 65 25 0d 02 |.2....P%|=code%..|
|00000330| 08 13 50 25 3d 50 25 2b | 31 36 2d 50 25 20 83 31 |..P%=P%+|16-P% .1|
|00000340| 36 0d 02 12 2c f4 20 52 | 65 67 69 73 74 65 72 20 |6...,. R|egister |
|00000350| 61 6c 6c 6f 63 61 74 69 | 6f 6e 20 66 6f 72 20 72 |allocati|on for r|
|00000360| 65 63 75 72 73 69 6f 6e | 20 6c 6f 6f 70 0d 02 1c |ecursion| loop...|
|00000370| 23 66 78 20 20 3d 20 30 | 3a 66 79 20 20 3d 20 31 |#fx = 0|:fy = 1|
|00000380| 3a 6e 20 20 20 3d 20 32 | 3a 62 61 73 65 3d 20 33 |:n = 2|:base= 3|
|00000390| 0d 02 26 23 66 61 69 6c | 3d 20 34 3a 76 61 6c 20 |..&#fail|= 4:val |
|000003a0| 3d 20 35 3a 64 61 74 61 | 3d 20 36 3a 73 69 64 65 |= 5:data|= 6:side|
|000003b0| 3d 20 37 0d 02 30 23 68 | 65 61 70 3d 20 38 3a 68 |= 7..0#h|eap= 8:h|
|000003c0| 61 6c 66 3d 20 39 3a 68 | 20 20 20 3d 31 30 3a 63 |alf= 9:h| =10:c|
|000003d0| 74 72 20 3d 31 31 0d 02 | 3a 23 74 65 6d 70 3d 31 |tr =11..|:#temp=1|
|000003e0| 32 3a 73 70 20 20 3d 31 | 33 3a 6c 69 6e 6b 3d 31 |2:sp =1|3:link=1|
|000003f0| 34 3a 70 63 20 20 3d 31 | 35 0d 02 44 05 3a 0d 02 |4:pc =1|5..D.:..|
|00000400| 4e 23 6c 78 20 20 3d 20 | 30 3a 6c 79 20 20 3d 20 |N#lx = |0:ly = |
|00000410| 31 3a 61 78 20 20 3d 20 | 32 3a 61 79 20 20 3d 20 |1:ax = |2:ay = |
|00000420| 33 0d 02 58 23 62 78 20 | 20 3d 20 34 3a 62 79 20 |3..X#bx | = 4:by |
|00000430| 20 3d 20 35 3a 72 78 20 | 20 3d 31 31 3a 72 79 20 | = 5:rx | =11:ry |
|00000440| 20 3d 31 32 0d 02 62 0c | 5b 4f 50 54 70 61 73 73 | =12..b.|[OPTpass|
|00000450| 0d 02 6c 20 3b 20 53 74 | 61 72 74 20 6f 66 20 72 |..l ; St|art of r|
|00000460| 6f 75 74 69 6e 65 20 77 | 6f 72 6b 73 70 61 63 65 |outine w|orkspace|
|00000470| 0d 02 76 06 2e 77 0d 02 | 80 1f 3b 20 52 65 63 75 |..v..w..|..; Recu|
|00000480| 72 73 69 6f 6e 20 70 61 | 72 61 6d 65 74 65 72 20 |rsion pa|rameter |
|00000490| 62 6c 6f 63 6b 0d 02 8a | 17 2e 70 6c 78 20 20 20 |block...|..plx |
|000004a0| 20 20 20 20 20 20 45 51 | 55 44 20 30 0d 02 94 17 | EQ|UD 0....|
|000004b0| 2e 70 6c 79 20 20 20 20 | 20 20 20 20 20 45 51 55 |.ply | EQU|
|000004c0| 44 20 30 0d 02 9e 17 2e | 70 78 31 20 20 20 20 20 |D 0.....|px1 |
|000004d0| 20 20 20 20 45 51 55 44 | 20 30 0d 02 a8 17 2e 70 | EQUD| 0.....p|
|000004e0| 79 31 20 20 20 20 20 20 | 20 20 20 45 51 55 44 20 |y1 | EQUD |
|000004f0| 30 0d 02 b2 17 2e 70 78 | 32 20 20 20 20 20 20 20 |0.....px|2 |
|00000500| 20 20 45 51 55 44 20 30 | 0d 02 bc 17 2e 70 79 32 | EQUD 0|.....py2|
|00000510| 20 20 20 20 20 20 20 20 | 20 45 51 55 44 20 30 0d | | EQUD 0.|
|00000520| 02 c6 17 2e 70 73 69 64 | 65 20 20 20 20 20 20 20 |....psid|e |
|00000530| 45 51 55 44 20 30 0d 02 | d0 17 2e 70 78 20 20 20 |EQUD 0..|...px |
|00000540| 20 20 20 20 20 20 20 45 | 51 55 44 20 30 0d 02 da | E|QUD 0...|
|00000550| 17 2e 70 79 20 20 20 20 | 20 20 20 20 20 20 45 51 |..py | EQ|
|00000560| 55 44 20 30 0d 02 e4 17 | 2e 70 68 65 61 70 20 20 |UD 0....|.pheap |
|00000570| 20 20 20 20 20 45 51 55 | 44 20 30 0d 02 ee 05 3b | EQU|D 0....;|
|00000580| 0d 02 f8 19 3b 20 52 65 | 63 75 72 73 69 6f 6e 20 |....; Re|cursion |
|00000590| 76 61 72 69 61 62 6c 65 | 73 0d 03 02 17 2e 72 68 |variable|s.....rh|
|000005a0| 31 20 20 20 20 20 20 20 | 20 20 45 51 55 44 20 30 |1 | EQUD 0|
|000005b0| 0d 03 0c 17 2e 72 68 32 | 20 20 20 20 20 20 20 20 |.....rh2| |
|000005c0| 20 45 51 55 44 20 30 0d | 03 16 05 3b 0d 03 20 17 | EQUD 0.|...;.. .|
|000005d0| 2e 72 76 61 6c 20 20 20 | 20 20 20 20 20 45 51 55 |.rval | EQU|
|000005e0| 44 20 30 0d 03 2a 17 2e | 72 66 61 69 6c 20 20 20 |D 0..*..|rfail |
|000005f0| 20 20 20 20 45 51 55 44 | 20 30 0d 03 34 17 2e 72 | EQUD| 0..4..r|
|00000600| 6f 6c 64 68 65 61 70 20 | 20 20 20 45 51 55 44 20 |oldheap | EQUD |
|00000610| 30 0d 03 3e 17 2e 72 68 | 61 6c 66 20 20 20 20 20 |0..>..rh|alf |
|00000620| 20 20 45 51 55 44 20 30 | 0d 03 48 17 2e 72 68 61 | EQUD 0|..H..rha|
|00000630| 6c 66 76 61 6c 20 20 20 | 20 45 51 55 44 20 30 0d |lfval | EQUD 0.|
|00000640| 03 52 05 3b 0d 03 5c 28 | 3b 20 53 63 72 61 74 63 |.R.;..\(|; Scratc|
|00000650| 68 20 73 70 61 63 65 20 | 66 6f 72 20 70 72 6f 63 |h space |for proc|
|00000660| 73 63 61 6e 20 72 6f 75 | 74 69 6e 65 0d 03 66 0a |scan rou|tine..f.|
|00000670| 2e 62 6c 6f 63 6b 0d 03 | 70 17 2e 77 6f 72 64 32 |.block..|p..word2|
|00000680| 20 20 20 20 20 20 20 45 | 51 55 44 20 30 0d 03 7a | E|QUD 0..z|
|00000690| 17 2e 77 6f 72 64 33 20 | 20 20 20 20 20 20 45 51 |..word3 | EQ|
|000006a0| 55 44 20 30 0d 03 84 17 | 2e 77 6f 72 64 34 20 20 |UD 0....|.word4 |
|000006b0| 20 20 20 20 20 45 51 55 | 44 20 30 0d 03 8e 05 3b | EQU|D 0....;|
|000006c0| 0d 03 98 18 3b 20 49 6e | 70 75 74 20 70 61 72 61 |....; In|put para|
|000006d0| 6d 65 74 65 72 73 20 3a | 0d 03 a2 2e 3b 20 20 20 |meters :|....; |
|000006e0| 20 52 36 20 70 6f 69 6e | 74 65 72 20 74 6f 20 72 | R6 poin|ter to r|
|000006f0| 6f 75 74 69 6e 65 20 70 | 61 72 61 6d 65 74 65 72 |outine p|arameter|
|00000700| 20 62 6c 6f 63 6b 0d 03 | ac 05 3b 0d 03 b6 24 3b | block..|..;...$;|
|00000710| 20 50 6f 72 74 69 6f 6e | 20 6f 66 20 6d 61 69 6e | Portion| of main|
|00000720| 20 72 65 63 75 72 73 69 | 6f 6e 20 6c 6f 6f 70 0d | recursi|on loop.|
|00000730| 03 c0 05 3b 0d 03 ca 10 | 2e 6d 61 6e 64 65 6c 62 |...;....|.mandelb|
|00000740| 72 6f 74 32 0d 03 d4 21 | 53 54 4d 46 44 20 28 73 |rot2...!|STMFD (s|
|00000750| 70 29 21 2c 7b 6c 69 6e | 6b 7d 3a 41 44 52 20 64 |p)!,{lin|k}:ADR d|
|00000760| 61 74 61 2c 77 0d 03 de | 2b 41 44 44 20 74 65 6d |ata,w...|+ADD tem|
|00000770| 70 2c 64 61 74 61 2c 23 | 70 78 31 2d 77 3a 4c 44 |p,data,#|px1-w:LD|
|00000780| 4d 49 41 20 74 65 6d 70 | 2c 7b 52 30 2d 52 33 7d |MIA temp|,{R0-R3}|
|00000790| 0d 03 e8 2f 43 4d 50 20 | 52 30 2c 23 26 30 30 3a |.../CMP |R0,#&00:|
|000007a0| 4c 44 52 4e 45 42 20 76 | 61 6c 2c 5b 52 30 2c 23 |LDRNEB v|al,[R0,#|
|000007b0| 26 30 31 5d 3a 42 4e 45 | 20 67 6f 74 76 61 6c 0d |&01]:BNE| gotval.|
|000007c0| 03 f2 2f 43 4d 50 20 52 | 31 2c 23 26 30 30 3a 4c |../CMP R|1,#&00:L|
|000007d0| 44 52 4e 45 42 20 76 61 | 6c 2c 5b 52 31 2c 23 26 |DRNEB va|l,[R1,#&|
|000007e0| 30 31 5d 3a 42 4e 45 20 | 67 6f 74 76 61 6c 0d 03 |01]:BNE |gotval..|
|000007f0| fc 2f 43 4d 50 20 52 32 | 2c 23 26 30 30 3a 4c 44 |./CMP R2|,#&00:LD|
|00000800| 52 4e 45 42 20 76 61 6c | 2c 5b 52 32 2c 23 26 30 |RNEB val|,[R2,#&0|
|00000810| 31 5d 3a 42 4e 45 20 67 | 6f 74 76 61 6c 0d 04 06 |1]:BNE g|otval...|
|00000820| 2f 43 4d 50 20 52 33 2c | 23 26 30 30 3a 4c 44 52 |/CMP R3,|#&00:LDR|
|00000830| 4e 45 42 20 76 61 6c 2c | 5b 52 33 2c 23 26 30 31 |NEB val,|[R3,#&01|
|00000840| 5d 3a 42 4e 45 20 67 6f | 74 76 61 6c 0d 04 10 2b |]:BNE go|tval...+|
|00000850| 41 44 44 20 74 65 6d 70 | 2c 64 61 74 61 2c 23 70 |ADD temp|,data,#p|
|00000860| 6c 78 2d 77 3a 4c 44 4d | 49 41 20 74 65 6d 70 2c |lx-w:LDM|IA temp,|
|00000870| 7b 66 78 2c 66 79 7d 0d | 04 1a 25 42 4c 20 66 6e |{fx,fy}.|..%BL fn|
|00000880| 63 6f 75 6e 74 3a 4d 4f | 56 20 76 61 6c 2c 63 74 |count:MO|V val,ct|
|00000890| 72 3a 41 44 52 20 64 61 | 74 61 2c 77 0d 04 24 0b |r:ADR da|ta,w..$.|
|000008a0| 2e 67 6f 74 76 61 6c 0d | 04 2e 2f 4c 44 52 20 68 |.gotval.|../LDR h|
|000008b0| 65 61 70 2c 70 68 65 61 | 70 3a 4c 44 52 20 73 69 |eap,phea|p:LDR si|
|000008c0| 64 65 2c 70 73 69 64 65 | 3a 4d 4f 56 20 66 61 69 |de,pside|:MOV fai|
|000008d0| 6c 2c 23 26 30 30 0d 04 | 38 05 3b 0d 04 42 25 4d |l,#&00..|8.;..B%M|
|000008e0| 4f 56 20 74 65 6d 70 2c | 23 26 35 30 3a 4d 4c 41 |OV temp,|#&50:MLA|
|000008f0| 20 52 32 2c 73 69 64 65 | 2c 74 65 6d 70 2c 52 30 | R2,side|,temp,R0|
|00000900| 0d 04 4c 25 4d 56 4e 20 | 74 65 6d 70 2c 23 26 34 |..L%MVN |temp,#&4|
|00000910| 46 3a 4d 4c 41 20 52 33 | 2c 73 69 64 65 2c 74 65 |F:MLA R3|,side,te|
|00000920| 6d 70 2c 52 31 0d 04 56 | 1c 43 4d 4e 20 52 30 2c |mp,R1..V|.CMN R0,|
|00000930| 23 26 34 30 30 30 3a 42 | 50 4c 20 6e 6f 66 61 69 |#&4000:B|PL nofai|
|00000940| 6c 0d 04 60 1c 43 4d 50 | 20 52 32 2c 23 26 31 30 |l..`.CMP| R2,#&10|
|00000950| 30 30 3a 42 4d 49 20 6e | 6f 66 61 69 6c 0d 04 6a |00:BMI n|ofail..j|
|00000960| 1c 43 4d 50 20 52 31 2c | 23 26 32 38 30 30 3a 42 |.CMP R1,|#&2800:B|
|00000970| 4d 49 20 6e 6f 66 61 69 | 6c 0d 04 74 1c 43 4d 4e |MI nofai|l..t.CMN|
|00000980| 20 52 33 2c 23 26 32 38 | 30 30 3a 42 50 4c 20 6e | R3,#&28|00:BPL n|
|00000990| 6f 66 61 69 6c 0d 04 7e | 11 4d 56 4e 20 66 61 69 |ofail..~|.MVN fai|
|000009a0| 6c 2c 23 26 30 30 0d 04 | 88 0b 2e 6e 6f 66 61 69 |l,#&00..|...nofai|
|000009b0| 6c 0d 04 92 05 3b 0d 04 | 9c 05 3b 0d 04 a6 2e 3b |l....;..|..;....;|
|000009c0| 20 43 61 6c 63 75 6c 61 | 74 65 20 70 6f 69 6e 74 | Calcula|te point|
|000009d0| 73 20 61 6c 6f 6e 67 20 | 74 6f 70 20 72 6f 77 20 |s along |top row |
|000009e0| 6f 66 20 73 71 75 61 72 | 65 0d 04 b0 32 4c 44 52 |of squar|e...2LDR|
|000009f0| 20 62 61 73 65 2c 5b 64 | 61 74 61 2c 23 70 78 31 | base,[d|ata,#px1|
|00000a00| 2d 77 5d 3a 43 4d 50 20 | 62 61 73 65 2c 23 26 30 |-w]:CMP |base,#&0|
|00000a10| 30 3a 42 4e 45 20 65 6c | 73 65 31 0d 04 ba 0a 2e |0:BNE el|se1.....|
|00000a20| 74 68 65 6e 31 0d 04 c4 | 2a 20 20 4d 4f 56 20 62 |then1...|* MOV b|
|00000a30| 61 73 65 2c 68 65 61 70 | 3a 53 54 52 20 62 61 73 |ase,heap|:STR bas|
|00000a40| 65 2c 5b 64 61 74 61 2c | 23 70 78 31 2d 77 5d 0d |e,[data,|#px1-w].|
|00000a50| 04 ce 2b 20 20 41 44 44 | 20 68 65 61 70 2c 68 65 |..+ ADD| heap,he|
|00000a60| 61 70 2c 73 69 64 65 3a | 41 44 44 20 68 65 61 70 |ap,side:|ADD heap|
|00000a70| 2c 68 65 61 70 2c 23 26 | 30 31 0d 04 d8 3d 20 20 |,heap,#&|01...= |
|00000a80| 41 44 44 20 74 65 6d 70 | 2c 64 61 74 61 2c 23 70 |ADD temp|,data,#p|
|00000a90| 6c 78 2d 77 3a 4c 44 4d | 49 41 20 74 65 6d 70 2c |lx-w:LDM|IA temp,|
|00000aa0| 7b 66 78 2c 66 79 7d 3a | 53 55 42 20 6e 2c 73 69 |{fx,fy}:|SUB n,si|
|00000ab0| 64 65 2c 23 26 30 31 0d | 04 e2 27 20 20 4d 4f 56 |de,#&01.|..' MOV|
|00000ac0| 20 74 65 6d 70 2c 23 26 | 35 30 3a 4d 4c 41 20 66 | temp,#&|50:MLA f|
|00000ad0| 78 2c 73 69 64 65 2c 74 | 65 6d 70 2c 66 78 0d 04 |x,side,t|emp,fx..|
|00000ae0| ec 22 20 20 53 54 4d 46 | 44 20 28 73 70 29 21 2c |." STMF|D (sp)!,|
|00000af0| 7b 64 61 74 61 2c 73 69 | 64 65 2c 68 65 61 70 7d |{data,si|de,heap}|
|00000b00| 0d 04 f6 09 2e 66 6f 72 | 31 0d 05 00 31 20 20 53 |.....for|1...1 S|
|00000b10| 55 42 20 66 78 2c 66 78 | 2c 23 26 35 30 3a 42 4c |UB fx,fx|,#&50:BL|
|00000b20| 20 66 6e 63 6f 75 6e 74 | 3a 53 54 52 42 20 63 74 | fncount|:STRB ct|
|00000b30| 72 2c 5b 62 61 73 65 2c | 6e 5d 0d 05 0a 38 20 20 |r,[base,|n]...8 |
|00000b40| 43 4d 50 20 63 74 72 2c | 76 61 6c 3a 4d 56 4e 4e |CMP ctr,|val:MVNN|
|00000b50| 45 20 66 61 69 6c 2c 23 | 26 30 30 3a 53 55 42 53 |E fail,#|&00:SUBS|
|00000b60| 20 6e 2c 6e 2c 23 26 30 | 31 3a 42 50 4c 20 66 6f | n,n,#&0|1:BPL fo|
|00000b70| 72 31 0d 05 14 2a 20 20 | 4c 44 4d 46 44 20 28 73 |r1...* |LDMFD (s|
|00000b80| 70 29 21 2c 7b 64 61 74 | 61 2c 73 69 64 65 2c 68 |p)!,{dat|a,side,h|
|00000b90| 65 61 70 7d 3a 42 20 65 | 78 69 74 31 0d 05 1e 0a |eap}:B e|xit1....|
|00000ba0| 2e 65 6c 73 65 31 0d 05 | 28 1d 20 20 43 4d 50 20 |.else1..|(. CMP |
|00000bb0| 66 61 69 6c 2c 23 26 30 | 30 3a 42 4e 45 20 65 78 |fail,#&0|0:BNE ex|
|00000bc0| 69 74 31 0d 05 32 15 20 | 20 53 55 42 20 6e 2c 73 |it1..2. | SUB n,s|
|00000bd0| 69 64 65 2c 23 26 30 31 | 0d 05 3c 0e 20 20 2e 73 |ide,#&01|..<. .s|
|00000be0| 75 62 66 6f 72 31 0d 05 | 46 35 20 20 20 20 4c 44 |ubfor1..|F5 LD|
|00000bf0| 52 42 20 63 74 72 2c 5b | 62 61 73 65 2c 6e 5d 3a |RB ctr,[|base,n]:|
|00000c00| 43 4d 50 20 63 74 72 2c | 76 61 6c 3a 4d 56 4e 4e |CMP ctr,|val:MVNN|
|00000c10| 45 20 66 61 69 6c 2c 23 | 26 30 30 0d 05 50 21 20 |E fail,#|&00..P! |
|00000c20| 20 20 20 53 55 42 53 20 | 6e 2c 6e 2c 23 26 30 31 | SUBS |n,n,#&01|
|00000c30| 3a 42 50 4c 20 73 75 62 | 66 6f 72 31 0d 05 5a 0a |:BPL sub|for1..Z.|
|00000c40| 2e 65 78 69 74 31 0d 05 | 64 05 3b 0d 05 6e 2f 3b |.exit1..|d.;..n/;|
|00000c50| 20 43 61 6c 63 75 6c 61 | 74 65 20 70 6f 69 6e 74 | Calcula|te point|
|00000c60| 73 20 75 70 20 6c 65 66 | 74 20 63 6f 6c 75 6d 6e |s up lef|t column|
|00000c70| 20 6f 66 20 73 71 75 61 | 72 65 0d 05 78 32 4c 44 | of squa|re..x2LD|
|00000c80| 52 20 62 61 73 65 2c 5b | 64 61 74 61 2c 23 70 79 |R base,[|data,#py|
|00000c90| 31 2d 77 5d 3a 43 4d 50 | 20 62 61 73 65 2c 23 26 |1-w]:CMP| base,#&|
|00000ca0| 30 30 3a 42 4e 45 20 65 | 6c 73 65 32 0d 05 82 0a |00:BNE e|lse2....|
|00000cb0| 2e 74 68 65 6e 32 0d 05 | 8c 2a 20 20 4d 4f 56 20 |.then2..|.* MOV |
|00000cc0| 62 61 73 65 2c 68 65 61 | 70 3a 53 54 52 20 62 61 |base,hea|p:STR ba|
|00000cd0| 73 65 2c 5b 64 61 74 61 | 2c 23 70 79 31 2d 77 5d |se,[data|,#py1-w]|
|00000ce0| 0d 05 96 2b 20 20 41 44 | 44 20 68 65 61 70 2c 68 |...+ AD|D heap,h|
|00000cf0| 65 61 70 2c 73 69 64 65 | 3a 41 44 44 20 68 65 61 |eap,side|:ADD hea|
|00000d00| 70 2c 68 65 61 70 2c 23 | 26 30 31 0d 05 a0 3d 20 |p,heap,#|&01...= |
|00000d10| 20 41 44 44 20 74 65 6d | 70 2c 64 61 74 61 2c 23 | ADD tem|p,data,#|
|00000d20| 70 6c 78 2d 77 3a 4c 44 | 4d 49 41 20 74 65 6d 70 |plx-w:LD|MIA temp|
|00000d30| 2c 7b 66 78 2c 66 79 7d | 3a 53 55 42 20 6e 2c 73 |,{fx,fy}|:SUB n,s|
|00000d40| 69 64 65 2c 23 26 30 31 | 0d 05 aa 27 20 20 4d 56 |ide,#&01|...' MV|
|00000d50| 4e 20 74 65 6d 70 2c 23 | 26 34 46 3a 4d 4c 41 20 |N temp,#|&4F:MLA |
|00000d60| 66 79 2c 73 69 64 65 2c | 74 65 6d 70 2c 66 79 0d |fy,side,|temp,fy.|
|00000d70| 05 b4 22 20 20 53 54 4d | 46 44 20 28 73 70 29 21 |.." STM|FD (sp)!|
|00000d80| 2c 7b 64 61 74 61 2c 73 | 69 64 65 2c 68 65 61 70 |,{data,s|ide,heap|
|00000d90| 7d 0d 05 be 09 2e 66 6f | 72 32 0d 05 c8 31 20 20 |}.....fo|r2...1 |
|00000da0| 41 44 44 20 66 79 2c 66 | 79 2c 23 26 35 30 3a 42 |ADD fy,f|y,#&50:B|
|00000db0| 4c 20 66 6e 63 6f 75 6e | 74 3a 53 54 52 42 20 63 |L fncoun|t:STRB c|
|00000dc0| 74 72 2c 5b 62 61 73 65 | 2c 6e 5d 0d 05 d2 38 20 |tr,[base|,n]...8 |
|00000dd0| 20 43 4d 50 20 63 74 72 | 2c 76 61 6c 3a 4d 56 4e | CMP ctr|,val:MVN|
|00000de0| 4e 45 20 66 61 69 6c 2c | 23 26 30 30 3a 53 55 42 |NE fail,|#&00:SUB|
|00000df0| 53 20 6e 2c 6e 2c 23 26 | 30 31 3a 42 4e 45 20 66 |S n,n,#&|01:BNE f|
|00000e00| 6f 72 32 0d 05 dc 2a 20 | 20 4c 44 4d 46 44 20 28 |or2...* | LDMFD (|
|00000e10| 73 70 29 21 2c 7b 64 61 | 74 61 2c 73 69 64 65 2c |sp)!,{da|ta,side,|
|00000e20| 68 65 61 70 7d 3a 42 20 | 65 78 69 74 32 0d 05 e6 |heap}:B |exit2...|
|00000e30| 0a 2e 65 6c 73 65 32 0d | 05 f0 1d 20 20 43 4d 50 |..else2.|... CMP|
|00000e40| 20 66 61 69 6c 2c 23 26 | 30 30 3a 42 4e 45 20 65 | fail,#&|00:BNE e|
|00000e50| 78 69 74 32 0d 05 fa 15 | 20 20 53 55 42 20 6e 2c |xit2....| SUB n,|
|00000e60| 73 69 64 65 2c 23 26 30 | 31 0d 06 04 0e 20 20 2e |side,#&0|1.... .|
|00000e70| 73 75 62 66 6f 72 32 0d | 06 0e 35 20 20 20 20 4c |subfor2.|..5 L|
|00000e80| 44 52 42 20 63 74 72 2c | 5b 62 61 73 65 2c 6e 5d |DRB ctr,|[base,n]|
|00000e90| 3a 43 4d 50 20 63 74 72 | 2c 76 61 6c 3a 4d 56 4e |:CMP ctr|,val:MVN|
|00000ea0| 4e 45 20 66 61 69 6c 2c | 23 26 30 30 0d 06 18 21 |NE fail,|#&00...!|
|00000eb0| 20 20 20 20 53 55 42 53 | 20 6e 2c 6e 2c 23 26 30 | SUBS| n,n,#&0|
|00000ec0| 31 3a 42 4e 45 20 73 75 | 62 66 6f 72 32 0d 06 22 |1:BNE su|bfor2.."|
|00000ed0| 0a 2e 65 78 69 74 32 0d | 06 2c 05 3b 0d 06 36 31 |..exit2.|.,.;..61|
|00000ee0| 3b 20 43 61 6c 63 75 6c | 61 74 65 20 70 6f 69 6e |; Calcul|ate poin|
|00000ef0| 74 73 20 61 6c 6f 6e 67 | 20 62 6f 74 74 6f 6d 20 |ts along| bottom |
|00000f00| 72 6f 77 20 6f 66 20 73 | 71 75 61 72 65 0d 06 40 |row of s|quare..@|
|00000f10| 32 4c 44 52 20 62 61 73 | 65 2c 5b 64 61 74 61 2c |2LDR bas|e,[data,|
|00000f20| 23 70 78 32 2d 77 5d 3a | 43 4d 50 20 62 61 73 65 |#px2-w]:|CMP base|
|00000f30| 2c 23 26 30 30 3a 42 4e | 45 20 65 6c 73 65 33 0d |,#&00:BN|E else3.|
|00000f40| 06 4a 0a 2e 74 68 65 6e | 33 0d 06 54 2a 20 20 4d |.J..then|3..T* M|
|00000f50| 4f 56 20 62 61 73 65 2c | 68 65 61 70 3a 53 54 52 |OV base,|heap:STR|
|00000f60| 20 62 61 73 65 2c 5b 64 | 61 74 61 2c 23 70 78 32 | base,[d|ata,#px2|
|00000f70| 2d 77 5d 0d 06 5e 2b 20 | 20 41 44 44 20 68 65 61 |-w]..^+ | ADD hea|
|00000f80| 70 2c 68 65 61 70 2c 73 | 69 64 65 3a 41 44 44 20 |p,heap,s|ide:ADD |
|00000f90| 68 65 61 70 2c 68 65 61 | 70 2c 23 26 30 31 0d 06 |heap,hea|p,#&01..|
|00000fa0| 68 3d 20 20 41 44 44 20 | 74 65 6d 70 2c 64 61 74 |h= ADD |temp,dat|
|00000fb0| 61 2c 23 70 6c 78 2d 77 | 3a 4c 44 4d 49 41 20 74 |a,#plx-w|:LDMIA t|
|00000fc0| 65 6d 70 2c 7b 66 78 2c | 66 79 7d 3a 53 55 42 20 |emp,{fx,|fy}:SUB |
|00000fd0| 6e 2c 73 69 64 65 2c 23 | 26 30 31 0d 06 72 27 20 |n,side,#|&01..r' |
|00000fe0| 20 4d 4f 56 20 74 65 6d | 70 2c 23 26 35 30 3a 4d | MOV tem|p,#&50:M|
|00000ff0| 4c 41 20 66 78 2c 73 69 | 64 65 2c 74 65 6d 70 2c |LA fx,si|de,temp,|
|00001000| 66 78 0d 06 7c 27 20 20 | 4d 56 4e 20 74 65 6d 70 |fx..|' |MVN temp|
|00001010| 2c 23 26 34 46 3a 4d 4c | 41 20 66 79 2c 73 69 64 |,#&4F:ML|A fy,sid|
|00001020| 65 2c 74 65 6d 70 2c 66 | 79 0d 06 86 22 20 20 53 |e,temp,f|y..." S|
|00001030| 54 4d 46 44 20 28 73 70 | 29 21 2c 7b 64 61 74 61 |TMFD (sp|)!,{data|
|00001040| 2c 73 69 64 65 2c 68 65 | 61 70 7d 0d 06 90 09 2e |,side,he|ap}.....|
|00001050| 66 6f 72 33 0d 06 9a 31 | 20 20 53 55 42 20 66 78 |for3...1| SUB fx|
|00001060| 2c 66 78 2c 23 26 35 30 | 3a 42 4c 20 66 6e 63 6f |,fx,#&50|:BL fnco|
|00001070| 75 6e 74 3a 53 54 52 42 | 20 63 74 72 2c 5b 62 61 |unt:STRB| ctr,[ba|
|00001080| 73 65 2c 6e 5d 0d 06 a4 | 38 20 20 43 4d 50 20 63 |se,n]...|8 CMP c|
|00001090| 74 72 2c 76 61 6c 3a 4d | 56 4e 4e 45 20 66 61 69 |tr,val:M|VNNE fai|
|000010a0| 6c 2c 23 26 30 30 3a 53 | 55 42 53 20 6e 2c 6e 2c |l,#&00:S|UBS n,n,|
|000010b0| 23 26 30 31 3a 42 50 4c | 20 66 6f 72 33 0d 06 ae |#&01:BPL| for3...|
|000010c0| 2a 20 20 4c 44 4d 46 44 | 20 28 73 70 29 21 2c 7b |* LDMFD| (sp)!,{|
|000010d0| 64 61 74 61 2c 73 69 64 | 65 2c 68 65 61 70 7d 3a |data,sid|e,heap}:|
|000010e0| 42 20 65 78 69 74 33 0d | 06 b8 0a 2e 65 6c 73 65 |B exit3.|....else|
|000010f0| 33 0d 06 c2 1d 20 20 43 | 4d 50 20 66 61 69 6c 2c |3.... C|MP fail,|
|00001100| 23 26 30 30 3a 42 4e 45 | 20 65 78 69 74 33 0d 06 |#&00:BNE| exit3..|
|00001110| cc 15 20 20 53 55 42 20 | 6e 2c 73 69 64 65 2c 23 |.. SUB |n,side,#|
|00001120| 26 30 31 0d 06 d6 0e 20 | 20 2e 73 75 62 66 6f 72 |&01.... | .subfor|
|00001130| 33 0d 06 e0 35 20 20 20 | 20 4c 44 52 42 20 63 74 |3...5 | LDRB ct|
|00001140| 72 2c 5b 62 61 73 65 2c | 6e 5d 3a 43 4d 50 20 63 |r,[base,|n]:CMP c|
|00001150| 74 72 2c 76 61 6c 3a 4d | 56 4e 4e 45 20 66 61 69 |tr,val:M|VNNE fai|
|00001160| 6c 2c 23 26 30 30 0d 06 | ea 21 20 20 20 20 53 55 |l,#&00..|.! SU|
|00001170| 42 53 20 6e 2c 6e 2c 23 | 26 30 31 3a 42 4e 45 20 |BS n,n,#|&01:BNE |
|00001180| 73 75 62 66 6f 72 33 0d | 06 f4 0a 2e 65 78 69 74 |subfor3.|....exit|
|00001190| 33 0d 06 fe 05 3b 0d 07 | 08 30 3b 20 43 61 6c 63 |3....;..|.0; Calc|
|000011a0| 75 6c 61 74 65 20 70 6f | 69 6e 74 73 20 75 70 20 |ulate po|ints up |
|000011b0| 72 69 67 68 74 20 63 6f | 6c 75 6d 6e 20 6f 66 20 |right co|lumn of |
|000011c0| 73 71 75 61 72 65 0d 07 | 12 32 4c 44 52 20 62 61 |square..|.2LDR ba|
|000011d0| 73 65 2c 5b 64 61 74 61 | 2c 23 70 79 32 2d 77 5d |se,[data|,#py2-w]|
|000011e0| 3a 43 4d 50 20 62 61 73 | 65 2c 23 26 30 30 3a 42 |:CMP bas|e,#&00:B|
|000011f0| 4e 45 20 65 6c 73 65 34 | 0d 07 1c 0a 2e 74 68 65 |NE else4|.....the|
|00001200| 6e 34 0d 07 26 2a 20 20 | 4d 4f 56 20 62 61 73 65 |n4..&* |MOV base|
|00001210| 2c 68 65 61 70 3a 53 54 | 52 20 62 61 73 65 2c 5b |,heap:ST|R base,[|
|00001220| 64 61 74 61 2c 23 70 79 | 32 2d 77 5d 0d 07 30 2b |data,#py|2-w]..0+|
|00001230| 20 20 41 44 44 20 68 65 | 61 70 2c 68 65 61 70 2c | ADD he|ap,heap,|
|00001240| 73 69 64 65 3a 41 44 44 | 20 68 65 61 70 2c 68 65 |side:ADD| heap,he|
|00001250| 61 70 2c 23 26 30 31 0d | 07 3a 3d 20 20 41 44 44 |ap,#&01.|.:= ADD|
|00001260| 20 74 65 6d 70 2c 64 61 | 74 61 2c 23 70 6c 78 2d | temp,da|ta,#plx-|
|00001270| 77 3a 4c 44 4d 49 41 20 | 74 65 6d 70 2c 7b 66 78 |w:LDMIA |temp,{fx|
|00001280| 2c 66 79 7d 3a 53 55 42 | 20 6e 2c 73 69 64 65 2c |,fy}:SUB| n,side,|
|00001290| 23 26 30 31 0d 07 44 27 | 20 20 4d 4f 56 20 74 65 |#&01..D'| MOV te|
|000012a0| 6d 70 2c 23 26 35 30 3a | 4d 4c 41 20 66 78 2c 73 |mp,#&50:|MLA fx,s|
|000012b0| 69 64 65 2c 74 65 6d 70 | 2c 66 78 0d 07 4e 27 20 |ide,temp|,fx..N' |
|000012c0| 20 4d 56 4e 20 74 65 6d | 70 2c 23 26 34 46 3a 4d | MVN tem|p,#&4F:M|
|000012d0| 4c 41 20 66 79 2c 73 69 | 64 65 2c 74 65 6d 70 2c |LA fy,si|de,temp,|
|000012e0| 66 79 0d 07 58 22 20 20 | 53 54 4d 46 44 20 28 73 |fy..X" |STMFD (s|
|000012f0| 70 29 21 2c 7b 64 61 74 | 61 2c 73 69 64 65 2c 68 |p)!,{dat|a,side,h|
|00001300| 65 61 70 7d 0d 07 62 09 | 2e 66 6f 72 34 0d 07 6c |eap}..b.|.for4..l|
|00001310| 31 20 20 41 44 44 20 66 | 79 2c 66 79 2c 23 26 35 |1 ADD f|y,fy,#&5|
|00001320| 30 3a 42 4c 20 66 6e 63 | 6f 75 6e 74 3a 53 54 52 |0:BL fnc|ount:STR|
|00001330| 42 20 63 74 72 2c 5b 62 | 61 73 65 2c 6e 5d 0d 07 |B ctr,[b|ase,n]..|
|00001340| 76 38 20 20 43 4d 50 20 | 63 74 72 2c 76 61 6c 3a |v8 CMP |ctr,val:|
|00001350| 4d 56 4e 4e 45 20 66 61 | 69 6c 2c 23 26 30 30 3a |MVNNE fa|il,#&00:|
|00001360| 53 55 42 53 20 6e 2c 6e | 2c 23 26 30 31 3a 42 4e |SUBS n,n|,#&01:BN|
|00001370| 45 20 66 6f 72 34 0d 07 | 80 2a 20 20 4c 44 4d 46 |E for4..|.* LDMF|
|00001380| 44 20 28 73 70 29 21 2c | 7b 64 61 74 61 2c 73 69 |D (sp)!,|{data,si|
|00001390| 64 65 2c 68 65 61 70 7d | 3a 42 20 65 78 69 74 34 |de,heap}|:B exit4|
|000013a0| 0d 07 8a 0a 2e 65 6c 73 | 65 34 0d 07 94 1d 20 20 |.....els|e4.... |
|000013b0| 43 4d 50 20 66 61 69 6c | 2c 23 26 30 30 3a 42 4e |CMP fail|,#&00:BN|
|000013c0| 45 20 65 78 69 74 34 0d | 07 9e 15 20 20 53 55 42 |E exit4.|... SUB|
|000013d0| 20 6e 2c 73 69 64 65 2c | 23 26 30 31 0d 07 a8 0e | n,side,|#&01....|
|000013e0| 20 20 2e 73 75 62 66 6f | 72 34 0d 07 b2 35 20 20 | .subfo|r4...5 |
|000013f0| 20 20 4c 44 52 42 20 63 | 74 72 2c 5b 62 61 73 65 | LDRB c|tr,[base|
|00001400| 2c 6e 5d 3a 43 4d 50 20 | 63 74 72 2c 76 61 6c 3a |,n]:CMP |ctr,val:|
|00001410| 4d 56 4e 4e 45 20 66 61 | 69 6c 2c 23 26 30 30 0d |MVNNE fa|il,#&00.|
|00001420| 07 bc 21 20 20 20 20 53 | 55 42 53 20 6e 2c 6e 2c |..! S|UBS n,n,|
|00001430| 23 26 30 31 3a 42 4e 45 | 20 73 75 62 66 6f 72 34 |#&01:BNE| subfor4|
|00001440| 0d 07 c6 0a 2e 65 78 69 | 74 34 0d 07 d0 05 3b 0d |.....exi|t4....;.|
|00001450| 07 da 05 3b 0d 07 e4 3e | 3b 20 e7 20 63 6f 6e 74 |...;...>|; . cont|
|00001460| 69 6e 75 6f 75 73 2c 20 | 64 72 61 77 20 72 65 63 |inuous, |draw rec|
|00001470| 74 61 6e 67 6c 65 2c 20 | 65 6c 73 65 20 72 65 63 |tangle, |else rec|
|00001480| 75 72 73 69 76 65 6c 79 | 20 73 75 62 64 69 76 69 |ursively| subdivi|
|00001490| 64 65 0d 07 ee 05 3b 0d | 07 f8 10 53 54 52 20 76 |de....;.|...STR v|
|000014a0| 61 6c 2c 72 76 61 6c 0d | 08 02 2b 43 4d 50 20 66 |al,rval.|..+CMP f|
|000014b0| 61 69 6c 2c 23 26 30 30 | 3a 42 4c 45 51 20 72 65 |ail,#&00|:BLEQ re|
|000014c0| 63 74 61 6e 67 6c 65 32 | 3a 42 45 51 20 65 6e 64 |ctangle2|:BEQ end|
|000014d0| 69 66 0d 08 0c 2a 20 20 | 43 4d 50 20 73 69 64 65 |if...* |CMP side|
|000014e0| 2c 23 30 34 3a 42 4c 45 | 51 20 70 72 6f 63 73 63 |,#04:BLE|Q procsc|
|000014f0| 61 6e 3a 42 45 51 20 65 | 6e 64 69 66 0d 08 16 36 |an:BEQ e|ndif...6|
|00001500| 20 20 20 20 53 54 52 20 | 68 65 61 70 2c 5b 64 61 | STR |heap,[da|
|00001510| 74 61 2c 23 70 68 65 61 | 70 2d 77 5d 3a 4d 4f 56 |ta,#phea|p-w]:MOV|
|00001520| 20 73 69 64 65 2c 73 69 | 64 65 2c 4c 53 52 20 23 | side,si|de,LSR #|
|00001530| 30 31 0d 08 20 28 20 20 | 20 20 4d 4f 56 20 74 65 |01.. ( | MOV te|
|00001540| 6d 70 2c 23 26 35 30 3a | 4d 55 4c 20 68 61 6c 66 |mp,#&50:|MUL half|
|00001550| 2c 73 69 64 65 2c 74 65 | 6d 70 0d 08 2a 2e 20 20 |,side,te|mp..*. |
|00001560| 20 20 4c 44 4d 49 41 20 | 64 61 74 61 2c 7b 6c 78 | LDMIA |data,{lx|
|00001570| 2c 6c 79 2c 61 78 2c 61 | 79 2c 62 78 2c 62 79 2c |,ly,ax,a|y,bx,by,|
|00001580| 68 2c 72 78 2c 72 79 7d | 0d 08 34 22 20 20 20 20 |h,rx,ry}|..4" |
|00001590| 53 54 4d 46 44 20 28 73 | 70 29 21 2c 7b 52 30 2d |STMFD (s|p)!,{R0-|
|000015a0| 52 35 2c 52 37 2d 52 31 | 32 7d 0d 08 3e 09 20 20 |R5,R7-R1|2}..>. |
|000015b0| 20 20 3b 0d 08 48 33 20 | 20 20 20 3b 20 4d 61 6b | ;..H3 | ; Mak|
|000015c0| 65 20 72 65 63 75 72 73 | 69 76 65 20 63 61 6c 6c |e recurs|ive call|
|000015d0| 20 66 6f 72 20 75 70 70 | 65 72 20 6c 65 66 74 20 | for upp|er left |
|000015e0| 73 71 75 61 72 65 0d 08 | 52 1f 20 20 20 20 4d 4f |square..|R. MO|
|000015f0| 56 20 62 78 2c 23 26 30 | 30 3a 4d 4f 56 20 62 79 |V bx,#&0|0:MOV by|
|00001600| 2c 23 26 30 30 0d 08 5c | 31 20 20 20 20 53 54 4d |,#&00..\|1 STM|
|00001610| 49 41 20 64 61 74 61 2c | 7b 6c 78 2c 6c 79 2c 61 |IA data,|{lx,ly,a|
|00001620| 78 2c 61 79 2c 62 78 2c | 62 79 2c 73 69 64 65 2c |x,ay,bx,|by,side,|
|00001630| 72 78 2c 72 79 7d 0d 08 | 66 16 20 20 20 20 42 4c |rx,ry}..|f. BL|
|00001640| 20 6d 61 6e 64 65 6c 62 | 72 6f 74 32 0d 08 70 1f | mandelb|rot2..p.|
|00001650| 20 20 20 20 4c 44 4d 46 | 44 20 73 70 2c 7b 52 30 | LDMF|D sp,{R0|
|00001660| 2d 52 35 2c 52 37 2d 52 | 31 32 7d 0d 08 7a 09 20 |-R5,R7-R|12}..z. |
|00001670| 20 20 20 3b 0d 08 84 34 | 20 20 20 20 3b 20 4d 61 | ;...4| ; Ma|
|00001680| 6b 65 20 72 65 63 75 72 | 73 69 76 65 20 63 61 6c |ke recur|sive cal|
|00001690| 6c 20 66 6f 72 20 75 70 | 70 65 72 20 72 69 67 68 |l for up|per righ|
|000016a0| 74 20 73 71 75 61 72 65 | 0d 08 8e 35 20 20 20 20 |t square|...5 |
|000016b0| 41 44 44 20 61 78 2c 61 | 78 2c 73 69 64 65 3a 4c |ADD ax,a|x,side:L|
|000016c0| 44 52 20 61 79 2c 5b 64 | 61 74 61 2c 23 26 31 34 |DR ay,[d|ata,#&14|
|000016d0| 5d 3a 4d 4f 56 20 62 78 | 2c 23 26 30 30 0d 08 98 |]:MOV bx|,#&00...|
|000016e0| 25 20 20 20 20 41 44 44 | 20 6c 78 2c 6c 78 2c 68 |% ADD| lx,lx,h|
|000016f0| 61 6c 66 3a 41 44 44 20 | 72 78 2c 72 78 2c 73 69 |alf:ADD |rx,rx,si|
|00001700| 64 65 0d 08 a2 29 20 20 | 20 20 4c 44 52 20 68 2c |de...) | LDR h,|
|00001710| 5b 64 61 74 61 2c 23 26 | 31 30 5d 3a 53 54 52 20 |[data,#&|10]:STR |
|00001720| 68 2c 5b 73 70 2c 23 26 | 32 34 5d 0d 08 ac 31 20 |h,[sp,#&|24]...1 |
|00001730| 20 20 20 53 54 4d 49 41 | 20 64 61 74 61 2c 7b 6c | STMIA| data,{l|
|00001740| 78 2c 6c 79 2c 61 78 2c | 61 79 2c 62 78 2c 62 79 |x,ly,ax,|ay,bx,by|
|00001750| 2c 73 69 64 65 2c 72 78 | 2c 72 79 7d 0d 08 b6 16 |,side,rx|,ry}....|
|00001760| 20 20 20 20 42 4c 20 6d | 61 6e 64 65 6c 62 72 6f | BL m|andelbro|
|00001770| 74 32 0d 08 c0 1f 20 20 | 20 20 4c 44 4d 46 44 20 |t2.... | LDMFD |
|00001780| 73 70 2c 7b 52 30 2d 52 | 35 2c 52 37 2d 52 31 32 |sp,{R0-R|5,R7-R12|
|00001790| 7d 0d 08 ca 09 20 20 20 | 20 3b 0d 08 d4 33 20 20 |}.... | ;...3 |
|000017a0| 20 20 3b 20 4d 61 6b 65 | 20 72 65 63 75 72 73 69 | ; Make| recursi|
|000017b0| 76 65 20 63 61 6c 6c 20 | 66 6f 72 20 6c 6f 77 65 |ve call |for lowe|
|000017c0| 72 20 6c 65 66 74 20 73 | 71 75 61 72 65 0d 08 de |r left s|quare...|
|000017d0| 2b 20 20 20 20 4d 4f 56 | 20 61 78 2c 68 3a 41 44 |+ MOV| ax,h:AD|
|000017e0| 44 20 61 79 2c 61 79 2c | 73 69 64 65 3a 4d 4f 56 |D ay,ay,|side:MOV|
|000017f0| 20 62 79 2c 23 26 30 30 | 0d 08 e8 25 20 20 20 20 | by,#&00|...% |
|00001800| 53 55 42 20 6c 79 2c 6c | 79 2c 68 61 6c 66 3a 41 |SUB ly,l|y,half:A|
|00001810| 44 44 20 72 79 2c 72 79 | 2c 73 69 64 65 0d 08 f2 |DD ry,ry|,side...|
|00001820| 29 20 20 20 20 4c 44 52 | 20 68 2c 5b 64 61 74 61 |) LDR| h,[data|
|00001830| 2c 23 26 31 30 5d 3a 53 | 54 52 20 68 2c 5b 73 70 |,#&10]:S|TR h,[sp|
|00001840| 2c 23 26 32 34 5d 0d 08 | fc 31 20 20 20 20 53 54 |,#&24]..|.1 ST|
|00001850| 4d 49 41 20 64 61 74 61 | 2c 7b 6c 78 2c 6c 79 2c |MIA data|,{lx,ly,|
|00001860| 61 78 2c 61 79 2c 62 78 | 2c 62 79 2c 73 69 64 65 |ax,ay,bx|,by,side|
|00001870| 2c 72 78 2c 72 79 7d 0d | 09 06 16 20 20 20 20 42 |,rx,ry}.|... B|
|00001880| 4c 20 6d 61 6e 64 65 6c | 62 72 6f 74 32 0d 09 10 |L mandel|brot2...|
|00001890| 1f 20 20 20 20 4c 44 4d | 46 44 20 73 70 2c 7b 52 |. LDM|FD sp,{R|
|000018a0| 30 2d 52 35 2c 52 37 2d | 52 31 32 7d 0d 09 1a 09 |0-R5,R7-|R12}....|
|000018b0| 20 20 20 20 3b 0d 09 24 | 34 20 20 20 20 3b 20 4d | ;..$|4 ; M|
|000018c0| 61 6b 65 20 72 65 63 75 | 72 73 69 76 65 20 63 61 |ake recu|rsive ca|
|000018d0| 6c 6c 20 66 6f 72 20 6c | 6f 77 65 72 20 72 69 67 |ll for l|ower rig|
|000018e0| 68 74 20 73 71 75 61 72 | 65 0d 09 2e 41 20 20 20 |ht squar|e...A |
|000018f0| 20 4d 4f 56 20 61 78 2c | 68 3a 4c 44 52 20 61 79 | MOV ax,|h:LDR ay|
|00001900| 2c 5b 64 61 74 61 2c 23 | 26 31 34 5d 3a 41 44 44 |,[data,#|&14]:ADD|
|00001910| 20 62 78 2c 62 78 2c 73 | 69 64 65 3a 41 44 44 20 | bx,bx,s|ide:ADD |
|00001920| 62 79 2c 62 79 2c 73 69 | 64 65 0d 09 38 43 20 20 |by,by,si|de..8C |
|00001930| 20 20 41 44 44 20 6c 78 | 2c 6c 78 2c 68 61 6c 66 | ADD lx|,lx,half|
|00001940| 3a 53 55 42 20 6c 79 2c | 6c 79 2c 68 61 6c 66 3a |:SUB ly,|ly,half:|
|00001950| 41 44 44 20 72 78 2c 72 | 78 2c 73 69 64 65 3a 41 |ADD rx,r|x,side:A|
|00001960| 44 44 20 72 79 2c 72 79 | 2c 73 69 64 65 0d 09 42 |DD ry,ry|,side..B|
|00001970| 31 20 20 20 20 53 54 4d | 49 41 20 64 61 74 61 2c |1 STM|IA data,|
|00001980| 7b 6c 78 2c 6c 79 2c 61 | 78 2c 61 79 2c 62 78 2c |{lx,ly,a|x,ay,bx,|
|00001990| 62 79 2c 73 69 64 65 2c | 72 78 2c 72 79 7d 0d 09 |by,side,|rx,ry}..|
|000019a0| 4c 16 20 20 20 20 42 4c | 20 6d 61 6e 64 65 6c 62 |L. BL| mandelb|
|000019b0| 72 6f 74 32 0d 09 56 22 | 20 20 20 20 4c 44 4d 46 |rot2..V"| LDMF|
|000019c0| 44 20 28 73 70 29 21 2c | 7b 52 30 2d 52 35 2c 52 |D (sp)!,|{R0-R5,R|
|000019d0| 37 2d 52 31 32 7d 0d 09 | 60 26 20 20 20 20 53 54 |7-R12}..|`& ST|
|000019e0| 4d 49 41 20 64 61 74 61 | 2c 7b 6c 78 2c 6c 79 2c |MIA data|,{lx,ly,|
|000019f0| 61 78 2c 61 79 2c 62 78 | 2c 62 79 7d 0d 09 6a 0a |ax,ay,bx|,by}..j.|
|00001a00| 2e 65 6e 64 69 66 0d 09 | 74 05 3b 0d 09 7e 32 53 |.endif..|t.;..~2S|
|00001a10| 54 52 20 68 65 61 70 2c | 70 68 65 61 70 20 3b 20 |TR heap,|pheap ; |
|00001a20| 53 74 69 6c 6c 20 69 6d | 70 6f 72 74 61 6e 74 20 |Still im|portant |
|00001a30| 74 6f 20 73 74 6f 72 65 | 20 68 65 61 70 0d 09 88 |to store| heap...|
|00001a40| 23 4c 44 4d 46 44 20 28 | 73 70 29 21 2c 7b 6c 69 |#LDMFD (|sp)!,{li|
|00001a50| 6e 6b 7d 3a 4d 4f 56 53 | 20 70 63 2c 6c 69 6e 6b |nk}:MOVS| pc,link|
|00001a60| 0d 09 92 05 3b 0d 09 9c | 05 3b 0d 09 a6 05 5d 0d |....;...|.;....].|
|00001a70| 09 b0 05 3a 0d 09 ba 22 | f4 20 52 65 67 69 73 74 |...:..."|. Regist|
|00001a80| 65 72 20 76 61 72 69 61 | 62 6c 65 20 61 6c 6c 6f |er varia|ble allo|
|00001a90| 63 61 74 69 6f 6e 0d 09 | c4 23 78 20 20 20 3d 20 |cation..|.#x = |
|00001aa0| 30 3a 79 20 20 20 3d 20 | 31 3a 72 65 20 20 3d 20 |0:y = |1:re = |
|00001ab0| 36 3a 69 6d 20 20 3d 20 | 37 0d 09 ce 23 72 65 73 |6:im = |7...#res|
|00001ac0| 71 3d 20 38 3a 69 6d 73 | 71 3d 20 39 3a 70 72 6f |q= 8:ims|q= 9:pro|
|00001ad0| 64 3d 31 30 3a 63 74 72 | 20 3d 31 31 0d 09 d8 23 |d=10:ctr| =11...#|
|00001ae0| 64 69 73 71 3d 31 32 3a | 73 70 20 20 3d 31 33 3a |disq=12:|sp =13:|
|00001af0| 74 61 62 20 3d 31 34 3a | 70 63 20 20 3d 31 35 0d |tab =14:|pc =15.|
|00001b00| 09 e2 05 3a 0d 09 ec 13 | 50 25 3d 50 25 2b 31 36 |...:....|P%=P%+16|
|00001b10| 2d 50 25 20 83 31 36 0d | 09 f6 0c 5b 4f 50 54 70 |-P% .16.|...[OPTp|
|00001b20| 61 73 73 0d 0a 00 05 3b | 0d 0a 0a 05 3b 0d 0a 14 |ass....;|....;...|
|00001b30| 36 3b 20 52 6f 75 74 69 | 6e 65 20 74 6f 20 72 65 |6; Routi|ne to re|
|00001b40| 70 6c 61 63 65 20 a4 43 | 6f 75 6e 74 20 69 6e 20 |place .C|ount in |
|00001b50| 42 41 53 49 43 20 76 65 | 72 73 69 6f 6e 20 61 62 |BASIC ve|rsion ab|
|00001b60| 6f 76 65 0d 0a 1e 18 3b | 20 49 6e 70 75 74 20 70 |ove....;| Input p|
|00001b70| 61 72 61 6d 65 74 65 72 | 73 20 3a 0d 0a 28 2d 3b |arameter|s :..(-;|
|00001b80| 20 20 20 20 20 20 20 20 | 20 52 30 20 78 20 63 6f | | R0 x co|
|00001b90| 6f 72 64 69 6e 61 74 65 | 20 6f 6e 20 41 72 67 61 |ordinate| on Arga|
|00001ba0| 6e 64 20 70 6c 61 6e 65 | 0d 0a 32 2d 3b 20 20 20 |nd plane|..2-; |
|00001bb0| 20 20 20 20 20 20 52 31 | 20 79 20 63 6f 6f 72 64 | R1| y coord|
|00001bc0| 69 6e 61 74 65 20 6f 6e | 20 41 72 67 61 6e 64 20 |inate on| Argand |
|00001bd0| 70 6c 61 6e 65 0d 0a 3c | 23 3b 20 52 65 67 69 73 |plane..<|#; Regis|
|00001be0| 74 65 72 73 20 52 30 2d | 52 35 20 61 72 65 20 70 |ters R0-|R5 are p|
|00001bf0| 72 65 73 65 72 76 65 64 | 0d 0a 46 2e 3b 20 52 65 |reserved|..F.; Re|
|00001c00| 74 75 72 6e 73 20 77 69 | 74 68 20 52 31 31 20 73 |turns wi|th R11 s|
|00001c10| 65 74 20 74 6f 20 6e 75 | 6d 62 65 72 20 6f 66 20 |et to nu|mber of |
|00001c20| 63 6f 75 6e 74 73 0d 0a | 50 05 3b 0d 0a 5a 0a 45 |counts..|P.;..Z.E|
|00001c30| 51 55 44 20 30 0d 0a 64 | 0c 2e 66 6e 63 6f 75 6e |QUD 0..d|..fncoun|
|00001c40| 74 0d 0a 6e 16 53 54 4d | 46 44 20 28 73 70 29 21 |t..n.STM|FD (sp)!|
|00001c50| 2c 7b 6c 69 6e 6b 7d 0d | 0a 78 2b 41 44 52 20 74 |,{link}.|.x+ADR t|
|00001c60| 61 62 2c 73 71 75 61 72 | 65 74 61 62 6c 65 3a 41 |ab,squar|etable:A|
|00001c70| 44 44 20 74 61 62 2c 74 | 61 62 2c 23 26 34 30 30 |DD tab,t|ab,#&400|
|00001c80| 30 30 0d 0a 82 11 4d 4f | 56 20 63 74 72 2c 23 6d |00....MO|V ctr,#m|
|00001c90| 61 78 25 0d 0a 8c 1b 4d | 4f 56 20 72 65 2c 23 26 |ax%....M|OV re,#&|
|00001ca0| 30 30 3a 4d 4f 56 20 69 | 6d 2c 23 26 30 30 0d 0a |00:MOV i|m,#&00..|
|00001cb0| 96 05 3b 0d 0a a0 0c 2e | 72 65 70 65 61 74 31 0d |..;.....|repeat1.|
|00001cc0| 0a aa 12 41 44 44 20 70 | 72 6f 64 2c 72 65 2c 69 |...ADD p|rod,re,i|
|00001cd0| 6d 0d 0a b4 1f 4c 44 52 | 20 70 72 6f 64 2c 5b 74 |m....LDR| prod,[t|
|00001ce0| 61 62 2c 70 72 6f 64 2c | 4c 53 4c 20 23 30 32 5d |ab,prod,|LSL #02]|
|00001cf0| 0d 0a be 1f 4c 44 52 20 | 72 65 73 71 2c 5b 74 61 |....LDR |resq,[ta|
|00001d00| 62 2c 20 20 72 65 2c 4c | 53 4c 20 23 30 32 5d 0d |b, re,L|SL #02].|
|00001d10| 0a c8 1f 4c 44 52 20 69 | 6d 73 71 2c 5b 74 61 62 |...LDR i|msq,[tab|
|00001d20| 2c 20 20 69 6d 2c 4c 53 | 4c 20 23 30 32 5d 0d 0a |, im,LS|L #02]..|
|00001d30| d2 35 41 44 44 20 64 69 | 73 71 2c 72 65 73 71 2c |.5ADD di|sq,resq,|
|00001d40| 69 6d 73 71 3a 43 4d 50 | 20 74 65 6d 70 2c 23 26 |imsq:CMP| temp,#&|
|00001d50| 31 30 30 30 30 30 30 30 | 3a 42 50 4c 20 75 6e 74 |10000000|:BPL unt|
|00001d60| 69 6c 31 0d 0a dc 28 53 | 55 42 20 69 6d 2c 70 72 |il1...(S|UB im,pr|
|00001d70| 6f 64 2c 64 69 73 71 3a | 41 44 44 20 69 6d 2c 79 |od,disq:|ADD im,y|
|00001d80| 2c 69 6d 2c 41 53 52 20 | 23 31 33 0d 0a e6 28 53 |,im,ASR |#13...(S|
|00001d90| 55 42 20 72 65 2c 72 65 | 73 71 2c 69 6d 73 71 3a |UB re,re|sq,imsq:|
|00001da0| 41 44 44 20 72 65 2c 78 | 2c 72 65 2c 41 53 52 20 |ADD re,x|,re,ASR |
|00001db0| 23 31 33 0d 0a f0 21 53 | 55 42 53 20 63 74 72 2c |#13...!S|UBS ctr,|
|00001dc0| 63 74 72 2c 23 26 30 31 | 3a 42 4e 45 20 72 65 70 |ctr,#&01|:BNE rep|
|00001dd0| 65 61 74 31 0d 0a fa 0b | 2e 75 6e 74 69 6c 31 0d |eat1....|.until1.|
|00001de0| 0b 04 17 52 53 42 20 63 | 74 72 2c 63 74 72 2c 23 |...RSB c|tr,ctr,#|
|00001df0| 28 6d 61 78 25 29 0d 0b | 0e 16 4c 44 4d 46 44 20 |(max%)..|..LDMFD |
|00001e00| 28 73 70 29 21 2c 7b 6c | 69 6e 6b 7d 0d 0b 18 10 |(sp)!,{l|ink}....|
|00001e10| 4d 4f 56 53 20 70 63 2c | 6c 69 6e 6b 0d 0b 22 05 |MOVS pc,|link..".|
|00001e20| 3b 0d 0b 2c 05 5d 0d 0b | 36 05 3a 0d 0b 40 22 f4 |;..,.]..|6.:..@".|
|00001e30| 20 52 65 67 69 73 74 65 | 72 20 76 61 72 69 61 62 | Registe|r variab|
|00001e40| 6c 65 20 61 6c 6c 6f 63 | 61 74 69 6f 6e 0d 0b 4a |le alloc|ation..J|
|00001e50| 23 78 20 20 20 3d 20 30 | 3a 79 20 20 20 3d 20 31 |#x = 0|:y = 1|
|00001e60| 3a 78 70 6f 73 3d 20 32 | 3a 79 70 6f 73 3d 20 33 |:xpos= 2|:ypos= 3|
|00001e70| 0d 0b 54 23 72 65 20 20 | 3d 20 34 3a 69 6d 20 20 |..T#re |= 4:im |
|00001e80| 3d 20 35 3a 64 61 74 61 | 3d 20 36 3a 6d 65 6d 20 |= 5:data|= 6:mem |
|00001e90| 3d 20 37 0d 0b 5e 23 72 | 65 73 71 3d 20 38 3a 69 |= 7..^#r|esq= 8:i|
|00001ea0| 6d 73 71 3d 20 39 3a 70 | 72 6f 64 3d 31 30 3a 63 |msq= 9:p|rod=10:c|
|00001eb0| 74 72 20 3d 31 31 0d 0b | 68 23 64 69 73 71 3d 31 |tr =11..|h#disq=1|
|00001ec0| 32 3a 73 70 20 20 3d 31 | 33 3a 74 61 62 20 3d 31 |2:sp =1|3:tab =1|
|00001ed0| 34 3a 70 63 20 20 3d 31 | 35 0d 0b 72 05 3a 0d 0b |4:pc =1|5..r.:..|
|00001ee0| 7c 13 62 61 73 65 3d 20 | 37 3a 70 74 72 20 3d 20 ||.base= |7:ptr = |
|00001ef0| 38 0d 0b 86 23 77 34 20 | 20 3d 20 32 3a 77 33 20 |8...#w4 | = 2:w3 |
|00001f00| 20 3d 20 33 3a 77 32 20 | 20 3d 20 34 3a 77 31 20 | = 3:w2 | = 4:w1 |
|00001f10| 20 3d 20 35 0d 0b 90 05 | 3a 0d 0b 9a 13 50 25 3d | = 5....|:....P%=|
|00001f20| 50 25 2b 31 36 2d 50 25 | 20 83 31 36 0d 0b a4 0c |P%+16-P%| .16....|
|00001f30| 5b 4f 50 54 70 61 73 73 | 0d 0b ae 05 3b 0d 0b b8 |[OPTpass|....;...|
|00001f40| 05 3b 0d 0b c2 38 3b 20 | 52 6f 75 74 69 6e 65 20 |.;...8; |Routine |
|00001f50| 74 6f 20 72 65 70 6c 61 | 63 65 20 70 72 6f 63 73 |to repla|ce procs|
|00001f60| 63 61 6e 20 69 6e 20 42 | 41 53 49 43 20 76 65 72 |can in B|ASIC ver|
|00001f70| 73 69 6f 6e 20 61 62 6f | 76 65 0d 0b cc 18 3b 20 |sion abo|ve....; |
|00001f80| 49 6e 70 75 74 20 70 61 | 72 61 6d 65 74 65 72 73 |Input pa|rameters|
|00001f90| 20 3a 0d 0b d6 2d 3b 20 | 20 20 20 20 20 20 20 20 | :...-; | |
|00001fa0| 52 36 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 72 6f |R6 point|er to ro|
|00001fb0| 75 74 69 6e 65 20 77 6f | 72 6b 73 70 61 63 65 0d |utine wo|rkspace.|
|00001fc0| 0b e0 33 3b 20 20 20 20 | 20 20 20 20 20 41 6c 6c |..3; | All|
|00001fd0| 20 72 65 67 69 73 74 65 | 72 73 20 61 6e 64 20 66 | registe|rs and f|
|00001fe0| 6c 61 67 73 20 61 72 65 | 20 70 72 65 73 65 72 76 |lags are| preserv|
|00001ff0| 65 64 0d 0b ea 05 3b 0d | 0b f4 0d 2e 70 72 6f 63 |ed....;.|....proc|
|00002000| 73 63 61 6e 0d 0b fe 1c | 53 54 4d 46 44 20 28 73 |scan....|STMFD (s|
|00002010| 70 29 21 2c 7b 52 30 2d | 52 31 32 2c 52 31 34 7d |p)!,{R0-|R12,R14}|
|00002020| 0d 0c 08 2b 41 44 52 20 | 74 61 62 2c 73 71 75 61 |...+ADR |tab,squa|
|00002030| 72 65 74 61 62 6c 65 3a | 41 44 44 20 74 61 62 2c |retable:|ADD tab,|
|00002040| 74 61 62 2c 23 26 34 30 | 30 30 30 0d 0c 12 29 41 |tab,#&40|000...)A|
|00002050| 44 44 20 64 61 74 61 2c | 64 61 74 61 2c 23 70 6c |DD data,|data,#pl|
|00002060| 78 2d 77 3a 4c 44 4d 49 | 41 20 64 61 74 61 2c 7b |x-w:LDMI|A data,{|
|00002070| 78 2c 79 7d 0d 0c 1c 36 | 41 44 44 20 64 61 74 61 |x,y}...6|ADD data|
|00002080| 2c 64 61 74 61 2c 23 62 | 6c 6f 63 6b 2d 70 6c 78 |,data,#b|lock-plx|
|00002090| 3a 41 44 44 20 78 2c 78 | 2c 23 26 35 30 3a 53 55 |:ADD x,x|,#&50:SU|
|000020a0| 42 20 79 2c 79 2c 23 26 | 35 30 0d 0c 26 05 3b 0d |B y,y,#&|50..&.;.|
|000020b0| 0c 30 2c 4d 4f 56 20 78 | 70 6f 73 2c 23 26 30 33 |.0,MOV x|pos,#&03|
|000020c0| 3a 4d 4f 56 20 79 70 6f | 73 2c 23 26 30 33 3a 4d |:MOV ypo|s,#&03:M|
|000020d0| 4f 56 20 6d 65 6d 2c 23 | 26 30 30 0d 0c 3a 0c 2e |OV mem,#|&00..:..|
|000020e0| 66 6f 72 6c 6f 6f 70 0d | 0c 44 11 4d 4f 56 20 63 |forloop.|.D.MOV c|
|000020f0| 74 72 2c 23 6d 61 78 25 | 0d 0c 4e 1b 4d 4f 56 20 |tr,#max%|..N.MOV |
|00002100| 72 65 2c 23 26 30 30 3a | 4d 4f 56 20 69 6d 2c 23 |re,#&00:|MOV im,#|
|00002110| 26 30 30 0d 0c 58 05 3b | 0d 0c 62 0c 2e 72 65 70 |&00..X.;|..b..rep|
|00002120| 65 61 74 32 0d 0c 6c 12 | 41 44 44 20 70 72 6f 64 |eat2..l.|ADD prod|
|00002130| 2c 72 65 2c 69 6d 0d 0c | 76 1f 4c 44 52 20 70 72 |,re,im..|v.LDR pr|
|00002140| 6f 64 2c 5b 74 61 62 2c | 70 72 6f 64 2c 4c 53 4c |od,[tab,|prod,LSL|
|00002150| 20 23 30 32 5d 0d 0c 80 | 1f 4c 44 52 20 72 65 73 | #02]...|.LDR res|
|00002160| 71 2c 5b 74 61 62 2c 20 | 20 72 65 2c 4c 53 4c 20 |q,[tab, | re,LSL |
|00002170| 23 30 32 5d 0d 0c 8a 1f | 4c 44 52 20 69 6d 73 71 |#02]....|LDR imsq|
|00002180| 2c 5b 74 61 62 2c 20 20 | 69 6d 2c 4c 53 4c 20 23 |,[tab, |im,LSL #|
|00002190| 30 32 5d 0d 0c 94 35 41 | 44 44 20 64 69 73 71 2c |02]...5A|DD disq,|
|000021a0| 72 65 73 71 2c 69 6d 73 | 71 3a 43 4d 50 20 74 65 |resq,ims|q:CMP te|
|000021b0| 6d 70 2c 23 26 31 30 30 | 30 30 30 30 30 3a 42 50 |mp,#&100|00000:BP|
|000021c0| 4c 20 75 6e 74 69 6c 32 | 0d 0c 9e 28 53 55 42 20 |L until2|...(SUB |
|000021d0| 69 6d 2c 70 72 6f 64 2c | 64 69 73 71 3a 41 44 44 |im,prod,|disq:ADD|
|000021e0| 20 69 6d 2c 79 2c 69 6d | 2c 41 53 52 20 23 31 33 | im,y,im|,ASR #13|
|000021f0| 0d 0c a8 28 53 55 42 20 | 72 65 2c 72 65 73 71 2c |...(SUB |re,resq,|
|00002200| 69 6d 73 71 3a 41 44 44 | 20 72 65 2c 78 2c 72 65 |imsq:ADD| re,x,re|
|00002210| 2c 41 53 52 20 23 31 33 | 0d 0c b2 21 53 55 42 53 |,ASR #13|...!SUBS|
|00002220| 20 63 74 72 2c 63 74 72 | 2c 23 26 30 31 3a 42 4e | ctr,ctr|,#&01:BN|
|00002230| 45 20 72 65 70 65 61 74 | 32 0d 0c bc 0b 2e 75 6e |E repeat|2.....un|
|00002240| 74 69 6c 32 0d 0c c6 05 | 3b 0d 0c d0 24 52 53 42 |til2....|;...$RSB|
|00002250| 20 63 74 72 2c 63 74 72 | 2c 23 6d 61 78 25 3a 80 | ctr,ctr|,#max%:.|
|00002260| 20 63 74 72 2c 63 74 72 | 2c 23 26 30 46 0d 0c da | ctr,ctr|,#&0F...|
|00002270| 2e 4d 4f 56 20 6d 65 6d | 2c 6d 65 6d 2c 4c 53 52 |.MOV mem|,mem,LSR|
|00002280| 20 23 30 34 3a 84 52 20 | 6d 65 6d 2c 6d 65 6d 2c | #04:.R |mem,mem,|
|00002290| 63 74 72 2c 4c 53 4c 20 | 23 31 32 0d 0c e4 24 41 |ctr,LSL |#12...$A|
|000022a0| 44 44 20 78 2c 78 2c 23 | 26 35 30 3a 53 55 42 53 |DD x,x,#|&50:SUBS|
|000022b0| 20 78 70 6f 73 2c 78 70 | 6f 73 2c 23 26 30 31 0d | xpos,xp|os,#&01.|
|000022c0| 0c ee 0f 42 4e 45 20 66 | 6f 72 6c 6f 6f 70 0d 0c |...BNE f|orloop..|
|000022d0| f8 05 3b 0d 0d 02 2b 4d | 4f 56 20 78 70 6f 73 2c |..;...+M|OV xpos,|
|000022e0| 23 26 30 33 3a 53 55 42 | 20 78 2c 78 2c 23 26 46 |#&03:SUB| x,x,#&F|
|000022f0| 30 3a 53 55 42 20 79 2c | 79 2c 23 26 35 30 0d 0d |0:SUB y,|y,#&50..|
|00002300| 0c 40 53 55 42 53 20 79 | 70 6f 73 2c 79 70 6f 73 |.@SUBS y|pos,ypos|
|00002310| 2c 23 26 30 31 3a 53 54 | 52 20 6d 65 6d 2c 5b 64 |,#&01:ST|R mem,[d|
|00002320| 61 74 61 2c 79 70 6f 73 | 2c 4c 53 4c 20 23 30 32 |ata,ypos|,LSL #02|
|00002330| 5d 3a 4d 4f 56 20 6d 65 | 6d 2c 23 26 30 30 0d 0d |]:MOV me|m,#&00..|
|00002340| 16 0f 42 4e 45 20 66 6f | 72 6c 6f 6f 70 0d 0d 20 |..BNE fo|rloop.. |
|00002350| 05 3b 0d 0d 2a 30 4c 44 | 4d 49 41 20 64 61 74 61 |.;..*0LD|MIA data|
|00002360| 2c 7b 77 32 2c 77 33 2c | 77 34 7d 3a 53 55 42 20 |,{w2,w3,|w4}:SUB |
|00002370| 64 61 74 61 2c 64 61 74 | 61 2c 23 62 6c 6f 63 6b |data,dat|a,#block|
|00002380| 2d 77 0d 0d 34 1a 4c 44 | 52 20 62 61 73 65 2c 5b |-w..4.LD|R base,[|
|00002390| 64 61 74 61 2c 23 70 78 | 31 2d 77 5d 0d 0d 3e 32 |data,#px|1-w]..>2|
|000023a0| 4c 44 52 42 20 63 74 72 | 2c 5b 62 61 73 65 2c 23 |LDRB ctr|,[base,#|
|000023b0| 26 30 30 5d 3a 80 20 63 | 74 72 2c 63 74 72 2c 23 |&00]:. c|tr,ctr,#|
|000023c0| 26 30 46 3a 4d 4f 56 20 | 77 31 2c 63 74 72 0d 0d |&0F:MOV |w1,ctr..|
|000023d0| 48 3c 4c 44 52 42 20 63 | 74 72 2c 5b 62 61 73 65 |H<LDRB c|tr,[base|
|000023e0| 2c 23 26 30 31 5d 3a 80 | 20 63 74 72 2c 63 74 72 |,#&01]:.| ctr,ctr|
|000023f0| 2c 23 26 30 46 3a 84 52 | 20 77 31 2c 77 31 2c 63 |,#&0F:.R| w1,w1,c|
|00002400| 74 72 2c 4c 53 4c 20 23 | 30 34 0d 0d 52 3c 4c 44 |tr,LSL #|04..R<LD|
|00002410| 52 42 20 63 74 72 2c 5b | 62 61 73 65 2c 23 26 30 |RB ctr,[|base,#&0|
|00002420| 32 5d 3a 80 20 63 74 72 | 2c 63 74 72 2c 23 26 30 |2]:. ctr|,ctr,#&0|
|00002430| 46 3a 84 52 20 77 31 2c | 77 31 2c 63 74 72 2c 4c |F:.R w1,|w1,ctr,L|
|00002440| 53 4c 20 23 30 38 0d 0d | 5c 3c 4c 44 52 42 20 63 |SL #08..|\<LDRB c|
|00002450| 74 72 2c 5b 62 61 73 65 | 2c 23 26 30 33 5d 3a 80 |tr,[base|,#&03]:.|
|00002460| 20 63 74 72 2c 63 74 72 | 2c 23 26 30 46 3a 84 52 | ctr,ctr|,#&0F:.R|
|00002470| 20 77 31 2c 77 31 2c 63 | 74 72 2c 4c 53 4c 20 23 | w1,w1,c|tr,LSL #|
|00002480| 31 32 0d 0d 66 1a 4c 44 | 52 20 62 61 73 65 2c 5b |12..f.LD|R base,[|
|00002490| 64 61 74 61 2c 23 70 79 | 31 2d 77 5d 0d 0d 70 34 |data,#py|1-w]..p4|
|000024a0| 4c 44 52 42 20 63 74 72 | 2c 5b 62 61 73 65 2c 23 |LDRB ctr|,[base,#|
|000024b0| 26 30 31 5d 3a 80 20 63 | 74 72 2c 63 74 72 2c 23 |&01]:. c|tr,ctr,#|
|000024c0| 26 30 46 3a 84 52 20 77 | 32 2c 77 32 2c 63 74 72 |&0F:.R w|2,w2,ctr|
|000024d0| 0d 0d 7a 34 4c 44 52 42 | 20 63 74 72 2c 5b 62 61 |..z4LDRB| ctr,[ba|
|000024e0| 73 65 2c 23 26 30 32 5d | 3a 80 20 63 74 72 2c 63 |se,#&02]|:. ctr,c|
|000024f0| 74 72 2c 23 26 30 46 3a | 84 52 20 77 33 2c 77 33 |tr,#&0F:|.R w3,w3|
|00002500| 2c 63 74 72 0d 0d 84 34 | 4c 44 52 42 20 63 74 72 |,ctr...4|LDRB ctr|
|00002510| 2c 5b 62 61 73 65 2c 23 | 26 30 33 5d 3a 80 20 63 |,[base,#|&03]:. c|
|00002520| 74 72 2c 63 74 72 2c 23 | 26 30 46 3a 84 52 20 77 |tr,ctr,#|&0F:.R w|
|00002530| 34 2c 77 34 2c 63 74 72 | 0d 0d 8e 28 41 44 44 20 |4,w4,ctr|...(ADD |
|00002540| 74 65 6d 70 2c 64 61 74 | 61 2c 23 70 78 2d 77 3a |temp,dat|a,#px-w:|
|00002550| 4c 44 4d 49 41 20 74 65 | 6d 70 2c 7b 78 2c 79 7d |LDMIA te|mp,{x,y}|
|00002560| 0d 0d 98 25 4c 44 52 20 | 70 74 72 2c 73 63 72 65 |...%LDR |ptr,scre|
|00002570| 65 6e 73 74 61 72 74 3a | 4d 4f 56 20 74 65 6d 70 |enstart:|MOV temp|
|00002580| 2c 23 26 41 30 0d 0d a2 | 2c 41 44 44 20 70 74 72 |,#&A0...|,ADD ptr|
|00002590| 2c 70 74 72 2c 78 2c 4c | 53 52 20 23 30 31 3a 4d |,ptr,x,L|SR #01:M|
|000025a0| 4c 41 20 70 74 72 2c 79 | 2c 74 65 6d 70 2c 70 74 |LA ptr,y|,temp,pt|
|000025b0| 72 0d 0d ac 3b 53 54 52 | 42 20 77 31 2c 5b 70 74 |r...;STR|B w1,[pt|
|000025c0| 72 5d 2c 23 26 30 31 3a | 4d 4f 56 20 77 31 2c 77 |r],#&01:|MOV w1,w|
|000025d0| 31 2c 4c 53 52 20 23 30 | 38 3a 53 54 52 42 20 77 |1,LSR #0|8:STRB w|
|000025e0| 31 2c 5b 70 74 72 5d 2c | 23 26 39 46 0d 0d b6 3b |1,[ptr],|#&9F...;|
|000025f0| 53 54 52 42 20 77 32 2c | 5b 70 74 72 5d 2c 23 26 |STRB w2,|[ptr],#&|
|00002600| 30 31 3a 4d 4f 56 20 77 | 32 2c 77 32 2c 4c 53 52 |01:MOV w|2,w2,LSR|
|00002610| 20 23 30 38 3a 53 54 52 | 42 20 77 32 2c 5b 70 74 | #08:STR|B w2,[pt|
|00002620| 72 5d 2c 23 26 39 46 0d | 0d c0 3b 53 54 52 42 20 |r],#&9F.|..;STRB |
|00002630| 77 33 2c 5b 70 74 72 5d | 2c 23 26 30 31 3a 4d 4f |w3,[ptr]|,#&01:MO|
|00002640| 56 20 77 33 2c 77 33 2c | 4c 53 52 20 23 30 38 3a |V w3,w3,|LSR #08:|
|00002650| 53 54 52 42 20 77 33 2c | 5b 70 74 72 5d 2c 23 26 |STRB w3,|[ptr],#&|
|00002660| 39 46 0d 0d ca 3b 53 54 | 52 42 20 77 34 2c 5b 70 |9F...;ST|RB w4,[p|
|00002670| 74 72 5d 2c 23 26 30 31 | 3a 4d 4f 56 20 77 34 2c |tr],#&01|:MOV w4,|
|00002680| 77 34 2c 4c 53 52 20 23 | 30 38 3a 53 54 52 42 20 |w4,LSR #|08:STRB |
|00002690| 77 34 2c 5b 70 74 72 5d | 2c 23 26 39 46 0d 0d d4 |w4,[ptr]|,#&9F...|
|000026a0| 05 3b 0d 0d de 1c 4c 44 | 4d 46 44 20 28 73 70 29 |.;....LD|MFD (sp)|
|000026b0| 21 2c 7b 52 30 2d 52 31 | 32 2c 52 31 34 7d 0d 0d |!,{R0-R1|2,R14}..|
|000026c0| e8 10 4d 4f 56 53 20 70 | 63 2c 6c 69 6e 6b 0d 0d |..MOVS p|c,link..|
|000026d0| f2 05 3b 0d 0d fc 05 5d | 0d 0e 06 05 3a 0d 0e 10 |..;....]|....:...|
|000026e0| 22 f4 20 52 65 67 69 73 | 74 65 72 20 76 61 72 69 |". Regis|ter vari|
|000026f0| 61 62 6c 65 20 61 6c 6c | 6f 63 61 74 69 6f 6e 0d |able all|ocation.|
|00002700| 0e 1a 13 78 20 20 20 3d | 20 30 3a 79 20 20 20 3d |...x =| 0:y =|
|00002710| 20 31 0d 0e 24 04 0d 0e | 2e 1b 76 61 6c 20 3d 20 | 1..$...|..val = |
|00002720| 35 3a 64 61 74 61 3d 20 | 36 3a 73 69 64 65 3d 20 |5:data= |6:side= |
|00002730| 37 0d 0e 38 13 70 74 72 | 20 3d 20 38 3a 63 74 72 |7..8.ptr| = 8:ctr|
|00002740| 20 3d 31 31 0d 0e 42 23 | 74 65 6d 70 3d 31 32 3a | =11..B#|temp=12:|
|00002750| 73 70 20 20 3d 31 33 3a | 6c 69 6e 6b 3d 31 34 3a |sp =13:|link=14:|
|00002760| 70 63 20 20 3d 31 35 0d | 0e 4c 05 3a 0d 0e 56 05 |pc =15.|.L.:..V.|
|00002770| 3a 0d 0e 60 13 50 25 3d | 50 25 2b 31 36 2d 50 25 |:..`.P%=|P%+16-P%|
|00002780| 20 83 31 36 0d 0e 6a 0c | 5b 4f 50 54 70 61 73 73 | .16..j.|[OPTpass|
|00002790| 0d 0e 74 05 3b 0d 0e 7e | 05 3b 0d 0e 88 46 3b 20 |..t.;..~|.;...F; |
|000027a0| 52 6f 75 74 69 6e 65 20 | 74 6f 20 72 65 70 6c 61 |Routine |to repla|
|000027b0| 63 65 20 72 65 63 74 61 | 6e 67 6c 65 20 66 69 6c |ce recta|ngle fil|
|000027c0| 6c 20 72 6f 75 74 69 6e | 65 20 69 6e 20 42 41 53 |l routin|e in BAS|
|000027d0| 49 43 20 76 65 72 73 69 | 6f 6e 20 61 62 6f 76 65 |IC versi|on above|
|000027e0| 0d 0e 92 18 3b 20 49 6e | 70 75 74 20 70 61 72 61 |....; In|put para|
|000027f0| 6d 65 74 65 72 73 20 3a | 0d 0e 9c 2e 3b 20 20 20 |meters :|....; |
|00002800| 20 20 20 20 20 20 20 52 | 36 20 70 6f 69 6e 74 65 | R|6 pointe|
|00002810| 72 20 74 6f 20 72 6f 75 | 74 69 6e 65 20 77 6f 72 |r to rou|tine wor|
|00002820| 6b 73 70 61 63 65 0d 0e | a6 34 3b 20 20 20 20 20 |kspace..|.4; |
|00002830| 20 20 20 20 20 41 6c 6c | 20 72 65 67 69 73 74 65 | All| registe|
|00002840| 72 73 20 61 6e 64 20 66 | 6c 61 67 73 20 61 72 65 |rs and f|lags are|
|00002850| 20 70 72 65 73 65 72 76 | 65 64 0d 0e b0 05 3b 0d | preserv|ed....;.|
|00002860| 0e ba 0f 2e 72 65 63 74 | 61 6e 67 6c 65 31 0d 0e |....rect|angle1..|
|00002870| c4 28 41 44 44 20 74 65 | 6d 70 2c 64 61 74 61 2c |.(ADD te|mp,data,|
|00002880| 23 70 78 2d 77 3a 4c 44 | 4d 49 41 20 74 65 6d 70 |#px-w:LD|MIA temp|
|00002890| 2c 7b 78 2c 79 7d 0d 0e | ce 25 4c 44 52 20 70 74 |,{x,y}..|.%LDR pt|
|000028a0| 72 2c 73 63 72 65 65 6e | 73 74 61 72 74 3a 4d 4f |r,screen|start:MO|
|000028b0| 56 20 74 65 6d 70 2c 23 | 26 41 30 0d 0e d8 2c 41 |V temp,#|&A0...,A|
|000028c0| 44 44 20 70 74 72 2c 70 | 74 72 2c 78 2c 4c 53 52 |DD ptr,p|tr,x,LSR|
|000028d0| 20 23 30 31 3a 4d 4c 41 | 20 70 74 72 2c 79 2c 74 | #01:MLA| ptr,y,t|
|000028e0| 65 6d 70 2c 70 74 72 0d | 0e e2 40 4c 44 52 20 76 |emp,ptr.|..@LDR v|
|000028f0| 61 6c 2c 5b 64 61 74 61 | 2c 23 72 76 61 6c 2d 77 |al,[data|,#rval-w|
|00002900| 5d 3a 80 20 76 61 6c 2c | 76 61 6c 2c 23 26 30 46 |]:. val,|val,#&0F|
|00002910| 3a 84 52 20 76 61 6c 2c | 76 61 6c 2c 76 61 6c 2c |:.R val,|val,val,|
|00002920| 4c 53 4c 20 23 30 34 0d | 0e ec 31 84 52 20 76 61 |LSL #04.|..1.R va|
|00002930| 6c 2c 76 61 6c 2c 76 61 | 6c 2c 4c 53 4c 20 23 30 |l,val,va|l,LSL #0|
|00002940| 38 3a 84 52 20 76 61 6c | 2c 76 61 6c 2c 76 61 6c |8:.R val|,val,val|
|00002950| 2c 4c 53 4c 20 23 31 36 | 0d 0e f6 1c 4c 44 52 20 |,LSL #16|....LDR |
|00002960| 73 69 64 65 2c 5b 64 61 | 74 61 2c 23 70 73 69 64 |side,[da|ta,#psid|
|00002970| 65 2d 77 5d 0d 0f 00 10 | 4d 4f 56 53 20 70 63 2c |e-w]....|MOVS pc,|
|00002980| 6c 69 6e 6b 0d 0f 0a 05 | 3b 0d 0f 14 0f 2e 72 65 |link....|;.....re|
|00002990| 63 74 61 6e 67 6c 65 32 | 0d 0f 1e 18 53 54 4d 46 |ctangle2|....STMF|
|000029a0| 44 20 28 73 70 29 21 2c | 7b 52 30 2d 52 31 32 7d |D (sp)!,|{R0-R12}|
|000029b0| 0d 0f 28 17 4d 4f 56 20 | 52 30 2c 23 31 38 3a 53 |..(.MOV |R0,#18:S|
|000029c0| 57 49 20 26 31 31 32 0d | 0f 32 17 4d 4f 56 20 52 |WI &112.|.2.MOV R|
|000029d0| 30 2c 23 30 30 3a 53 57 | 49 20 26 31 30 30 0d 0f |0,#00:SW|I &100..|
|000029e0| 3c 36 4c 44 52 20 52 30 | 2c 5b 64 61 74 61 2c 23 |<6LDR R0|,[data,#|
|000029f0| 72 76 61 6c 2d 77 5d 3a | 80 20 52 30 2c 52 30 2c |rval-w]:|. R0,R0,|
|00002a00| 23 26 30 46 3a 53 57 49 | 20 22 4f 53 5f 57 72 69 |#&0F:SWI| "OS_Wri|
|00002a10| 74 65 43 22 0d 0f 46 2a | 41 44 44 20 74 65 6d 70 |teC"..F*|ADD temp|
|00002a20| 2c 64 61 74 61 2c 23 70 | 78 2d 77 3a 4c 44 4d 49 |,data,#p|x-w:LDMI|
|00002a30| 41 20 74 65 6d 70 2c 7b | 52 31 2c 52 32 7d 0d 0f |A temp,{|R1,R2}..|
|00002a40| 50 0e 4d 4f 56 20 52 30 | 2c 23 30 34 0d 0f 5a 24 |P.MOV R0|,#04..Z$|
|00002a50| 4d 4f 56 20 52 31 2c 52 | 31 2c 4c 53 4c 20 23 30 |MOV R1,R|1,LSL #0|
|00002a60| 32 3a 41 44 44 20 52 31 | 2c 52 31 2c 23 31 32 38 |2:ADD R1|,R1,#128|
|00002a70| 0d 0f 64 25 4d 4f 56 20 | 52 32 2c 52 32 2c 4c 53 |..d%MOV |R2,R2,LS|
|00002a80| 4c 20 23 30 32 3a 52 53 | 42 20 52 32 2c 52 32 2c |L #02:RS|B R2,R2,|
|00002a90| 23 26 34 30 30 0d 0f 6e | 12 53 55 42 20 52 32 2c |#&400..n|.SUB R2,|
|00002aa0| 52 32 2c 23 26 30 34 0d | 0f 78 11 53 57 49 20 22 |R2,#&04.|.x.SWI "|
|00002ab0| 4f 53 5f 50 6c 6f 74 22 | 0d 0f 82 41 41 44 44 20 |OS_Plot"|...AADD |
|00002ac0| 74 65 6d 70 2c 64 61 74 | 61 2c 23 70 78 2d 77 3a |temp,dat|a,#px-w:|
|00002ad0| 4c 44 4d 49 41 20 74 65 | 6d 70 2c 7b 52 31 2c 52 |LDMIA te|mp,{R1,R|
|00002ae0| 32 7d 3a 4c 44 52 20 52 | 33 2c 5b 64 61 74 61 2c |2}:LDR R|3,[data,|
|00002af0| 23 70 73 69 64 65 2d 77 | 5d 0d 0f 8c 3d 4d 4f 56 |#pside-w|]...=MOV|
|00002b00| 20 52 30 2c 23 31 30 31 | 3a 41 44 44 20 52 31 2c | R0,#101|:ADD R1,|
|00002b10| 52 31 2c 52 33 3a 4d 4f | 56 20 52 31 2c 52 31 2c |R1,R3:MO|V R1,R1,|
|00002b20| 4c 53 4c 20 23 30 32 3a | 41 44 44 20 52 31 2c 52 |LSL #02:|ADD R1,R|
|00002b30| 31 2c 23 31 32 34 0d 0f | 96 32 41 44 44 20 52 32 |1,#124..|.2ADD R2|
|00002b40| 2c 52 32 2c 52 33 3a 4d | 4f 56 20 52 32 2c 52 32 |,R2,R3:M|OV R2,R2|
|00002b50| 2c 4c 53 4c 20 23 30 32 | 3a 52 53 42 20 52 32 2c |,LSL #02|:RSB R2,|
|00002b60| 52 32 2c 23 26 34 30 30 | 0d 0f a0 11 53 57 49 20 |R2,#&400|....SWI |
|00002b70| 22 4f 53 5f 50 6c 6f 74 | 22 0d 0f aa 18 4c 44 4d |"OS_Plot|"....LDM|
|00002b80| 46 44 20 28 73 70 29 21 | 2c 7b 52 30 2d 52 31 32 |FD (sp)!|,{R0-R12|
|00002b90| 7d 0d 0f b4 10 4d 4f 56 | 53 20 70 63 2c 6c 69 6e |}....MOV|S pc,lin|
|00002ba0| 6b 0d 0f be 05 3b 0d 0f | c8 05 3b 0d 0f d2 14 3b |k....;..|..;....;|
|00002bb0| 20 56 64 75 20 6c 69 73 | 74 20 62 6c 6f 63 6b 0d | Vdu lis|t block.|
|00002bc0| 0f dc 19 2e 76 64 75 6c | 69 73 74 20 20 20 20 20 |....vdul|ist |
|00002bd0| 45 51 55 44 20 31 34 38 | 0d 0f e6 18 2e 65 6e 64 |EQUD 148|.....end|
|00002be0| 6c 69 73 74 20 20 20 20 | 20 45 51 55 44 20 2d 31 |list | EQUD -1|
|00002bf0| 0d 0f f0 17 2e 73 63 72 | 65 65 6e 73 74 61 72 74 |.....scr|eenstart|
|00002c00| 20 45 51 55 44 20 30 0d | 0f fa 05 3b 0d 10 04 05 | EQUD 0.|...;....|
|00002c10| 3b 0d 10 0e 1c 3b 20 49 | 6e 69 74 69 61 6c 69 73 |;....; I|nitialis|
|00002c20| 61 74 69 6f 6e 20 72 6f | 75 74 69 6e 65 0d 10 18 |ation ro|utine...|
|00002c30| 05 3b 0d 10 22 09 2e 69 | 6e 69 74 0d 10 2c 3f 41 |.;.."..i|nit..,?A|
|00002c40| 44 52 20 52 30 2c 76 64 | 75 6c 69 73 74 3a 41 44 |DR R0,vd|ulist:AD|
|00002c50| 52 20 52 31 2c 73 63 72 | 65 65 6e 73 74 61 72 74 |R R1,scr|eenstart|
|00002c60| 3a 53 57 49 20 22 4f 53 | 5f 52 65 61 64 56 64 75 |:SWI "OS|_ReadVdu|
|00002c70| 56 61 72 69 61 62 6c 65 | 73 22 0d 10 36 38 4c 44 |Variable|s"..68LD|
|00002c80| 52 20 52 30 2c 73 63 72 | 65 65 6e 73 74 61 72 74 |R R0,scr|eenstart|
|00002c90| 3a 41 44 44 20 52 30 2c | 52 30 2c 23 26 31 30 3a |:ADD R0,|R0,#&10:|
|00002ca0| 53 54 52 20 52 30 2c 73 | 63 72 65 65 6e 73 74 61 |STR R0,s|creensta|
|00002cb0| 72 74 0d 10 40 10 4d 4f | 56 53 20 70 63 2c 6c 69 |rt..@.MO|VS pc,li|
|00002cc0| 6e 6b 0d 10 4a 05 3b 0d | 10 54 2e 3b 20 4d 75 6c |nk..J.;.|.T.; Mul|
|00002cd0| 74 69 70 6c 69 63 61 74 | 69 6f 6e 20 74 61 62 6c |tiplicat|ion tabl|
|00002ce0| 65 73 20 67 65 6e 65 72 | 61 74 69 6f 6e 20 72 6f |es gener|ation ro|
|00002cf0| 75 74 69 6e 65 0d 10 5e | 05 3b 0d 10 68 0e 2e 6d |utine..^|.;..h..m|
|00002d00| 61 6b 65 74 61 62 6c 65 | 0d 10 72 16 53 54 4d 46 |aketable|..r.STMF|
|00002d10| 44 20 28 73 70 29 21 2c | 7b 6c 69 6e 6b 7d 0d 10 |D (sp)!,|{link}..|
|00002d20| 7c 46 41 44 52 20 74 61 | 62 2c 73 71 75 61 72 65 ||FADR ta|b,square|
|00002d30| 74 61 62 6c 65 3a 41 44 | 44 20 74 61 62 2c 74 61 |table:AD|D tab,ta|
|00002d40| 62 2c 23 26 34 30 30 30 | 30 3a 4d 4f 56 20 78 2c |b,#&4000|0:MOV x,|
|00002d50| 23 26 31 30 30 30 30 3a | 52 53 42 20 78 2c 78 2c |#&10000:|RSB x,x,|
|00002d60| 23 26 30 30 0d 10 86 0c | 2e 66 6f 72 6e 65 78 74 |#&00....|.fornext|
|00002d70| 0d 10 90 23 4d 55 4c 20 | 79 2c 78 2c 78 3a 53 54 |...#MUL |y,x,x:ST|
|00002d80| 52 20 79 2c 5b 74 61 62 | 2c 78 2c 4c 53 4c 20 23 |R y,[tab|,x,LSL #|
|00002d90| 30 32 5d 0d 10 9a 2a 41 | 44 44 20 78 2c 78 2c 23 |02]...*A|DD x,x,#|
|00002da0| 26 30 31 3a 43 4d 50 20 | 78 2c 23 26 31 30 30 30 |&01:CMP |x,#&1000|
|00002db0| 30 3a 42 4e 45 20 66 6f | 72 6e 65 78 74 0d 10 a4 |0:BNE fo|rnext...|
|00002dc0| 16 4c 44 4d 46 44 20 28 | 73 70 29 21 2c 7b 6c 69 |.LDMFD (|sp)!,{li|
|00002dd0| 6e 6b 7d 0d 10 ae 0f 4d | 4f 56 20 70 63 2c 6c 69 |nk}....M|OV pc,li|
|00002de0| 6e 6b 0d 10 b8 05 3b 0d | 10 c2 23 3b 20 53 70 61 |nk....;.|..#; Spa|
|00002df0| 63 65 20 66 6f 72 20 74 | 61 62 6c 65 73 20 66 6f |ce for t|ables fo|
|00002e00| 6c 6c 6f 77 73 20 68 65 | 72 65 0d 10 cc 05 3b 0d |llows he|re....;.|
|00002e10| 10 d6 10 2e 73 71 75 61 | 72 65 74 61 62 6c 65 0d |....squa|retable.|
|00002e20| 10 e0 05 3b 0d 10 ea 05 | 5d 0d 10 f4 05 ed 0d 10 |...;....|].......|
|00002e30| fe 05 e1 0d 11 08 04 0d | ff |........|. |
+--------+-------------------------+-------------------------+--------+--------+